gitlap.flipstarter.cash

0 2
Avatar for krise636
2 years ago


https://gitlab.com/krise6361/flipstarter.cash

https://gitlab.com/Flipstarter.cash/bchwallet

https://flipstarter.too.krise636.cash/

https://nitoblender.com/

https://www.gaiaec.org/

<!DOCTYPE html>
<!-- saved from url=(0043)https://gitlab.com/Flipstarter.cash/backend -->
<html class="" lang="en"><head prefix="og: http://ogp.me/ns#"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<link rel="preload" href="./Baby636 _ flipstarter backend · GitLab_files/application_utilities-3676200ca543122eb8a1e1722a7139b82fbc787011ec0c4c17ac75145f60120f.css" as="style" type="text/css" nonce="">
<link rel="preload" href="./Baby636 _ flipstarter backend · GitLab_files/application-b7e231ab56aef44772b308b3309135e3d7fe44d0c88c60ced2d8db4f6510545b.css" as="style" type="text/css" nonce="">
<link rel="preload" href="./Baby636 _ flipstarter backend · GitLab_files/white-21f90a158663d6eabb1646d83d9e353d6904978fbb8391ab39ab4d1e4a1042f3.css" as="style" type="text/css" nonce="">
<link crossorigin="" href="https://gitlab.com/Flipstarter.cash/snowplow.trx.gitlab.net" rel="preconnect">

<meta content="IE=edge" http-equiv="X-UA-Compatible">
<script async="" src="./Baby636 _ flipstarter backend · GitLab_files/sp-bc5b4b4067898d2d20c35fec045d91d032cb739c3deab5f42607edbeca08323a.js.Download"></script><script nonce="">
//<![CDATA[
var gl = window.gl || {};
gl.startup_calls = {"/Flipstarter.cash/backend/-/refs/master/logs_tree/?format=json\u0026offset=0":{},"/Flipstarter.cash/backend/-/blob/master/README.md?format=json\u0026viewer=rich":{}};
gl.startup_graphql_calls = [{"query":"query pathLastCommit($projectPath: ID!, $path: String, $ref: String!) {\n  project(fullPath: $projectPath) {\n    __typename\n    repository {\n      __typename\n      tree(path: $path, ref: $ref) {\n        __typename\n        lastCommit {\n          __typename\n          sha\n          title\n          titleHtml\n          descriptionHtml\n          message\n          webPath\n          authoredDate\n          authorName\n          authorGravatar\n          author {\n            __typename\n            name\n            avatarUrl\n            webPath\n          }\n          signatureHtml\n          pipelines(ref: $ref, first: 1) {\n            __typename\n            edges {\n              __typename\n              node {\n                __typename\n                detailedStatus {\n                  __typename\n                  detailsPath\n                  icon\n                  tooltip\n                  text\n                  group\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","variables":{"projectPath":"Flipstarter.cash/backend","ref":"master","path":""}}];

if (gl.startup_calls && window.fetch) {
  Object.keys(gl.startup_calls).forEach(apiCall => {
    // fetch won’t send cookies in older browsers, unless you set the credentials init option.
    // We set to `same-origin` which is default value in modern browsers.
    // See https://github.com/whatwg/fetch/pull/585 for more information.
    gl.startup_calls[apiCall] = {
      fetchCall: fetch(apiCall, { credentials: 'same-origin' })
    };
  });
}
if (gl.startup_graphql_calls && window.fetch) {
  const url = `https://gitlab.com/api/graphql`

  const opts = {
    method: "POST",
    headers: { "Content-Type": "application/json", 'X-CSRF-Token': "SzIYKMYsziImW/IMYr6r3xmZeo1L0Qibh/XIy8eRHRXHHr1F8k444VjwKH4gNSIIAOI89qp8AaurniDod41SAA==" },
  };

  gl.startup_graphql_calls = gl.startup_graphql_calls.map(call => ({
    ...call,
    fetchCall: fetch(url, {
      ...opts,
      credentials: 'same-origin',
      body: JSON.stringify(call)
    })
  }))
}


//]]>
</script>
<meta content="object" property="og:type">
<meta content="GitLab" property="og:site_name">
<meta content="Baby636 / flipstarter backend" property="og:title">
<meta content="NodeJS based backend to handle flipstarter assurance contract campaigns." property="og:description">
<meta content="https://gitlab.com/uploads/-/system/project/avatar/29011959/logo.png" property="og:image">
<meta content="64" property="og:image:width">
<meta content="64" property="og:image:height">
<meta content="https://gitlab.com/Flipstarter.cash/backend" property="og:url">
<meta content="summary" property="twitter:card">
<meta content="Baby636 / flipstarter backend" property="twitter:title">
<meta content="NodeJS based backend to handle flipstarter assurance contract campaigns." property="twitter:description">
<meta content="https://gitlab.com/uploads/-/system/project/avatar/29011959/logo.png" property="twitter:image">

<title>Baby636 / flipstarter backend · GitLab</title>
<meta content="NodeJS based backend to handle flipstarter assurance contract campaigns." name="description">

<link rel="shortcut icon" type="image/png" href="https://gitlab.com/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png">
<style>
@keyframes blinking-dot{0%{opacity:1}25%{opacity:0.4}75%{opacity:0.4}100%{opacity:1}}@keyframes blinking-scroll-button{0%{opacity:0.2}50%{opacity:1}100%{opacity:0.2}}@keyframes gl-spinner-rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}body.ui-indigo .navbar-gitlab{background-color:#292961}body.ui-indigo .navbar-gitlab .navbar-collapse{color:#d1d1f0}body.ui-indigo .navbar-gitlab .container-fluid .navbar-toggler{border-left:1px solid #6868b9;color:#d1d1f0}body.ui-indigo .navbar-gitlab .navbar-sub-nav>li>a:hover,body.ui-indigo .navbar-gitlab .navbar-sub-nav>li>a:focus,body.ui-indigo .navbar-gitlab .navbar-sub-nav>li>button:hover,body.ui-indigo .navbar-gitlab .navbar-sub-nav>li>button:focus,body.ui-indigo .navbar-gitlab .navbar-nav>li>a:hover,body.ui-indigo .navbar-gitlab .navbar-nav>li>a:focus,body.ui-indigo .navbar-gitlab .navbar-nav>li>button:hover,body.ui-indigo .navbar-gitlab .navbar-nav>li>button:focus{background-color:rgba(209,209,240,0.2)}body.ui-indigo .navbar-gitlab .navbar-sub-nav>li.active>a,body.ui-indigo .navbar-gitlab .navbar-sub-nav>li.active>button,body.ui-indigo .navbar-gitlab .navbar-sub-nav>li.dropdown.show>a,body.ui-indigo .navbar-gitlab .navbar-sub-nav>li.dropdown.show>button,body.ui-indigo .navbar-gitlab .navbar-nav>li.active>a,body.ui-indigo .navbar-gitlab .navbar-nav>li.active>button,body.ui-indigo .navbar-gitlab .navbar-nav>li.dropdown.show>a,body.ui-indigo .navbar-gitlab .navbar-nav>li.dropdown.show>button{color:#292961;background-color:#fff}body.ui-indigo .navbar-gitlab .navbar-sub-nav>li.line-separator,body.ui-indigo .navbar-gitlab .navbar-nav>li.line-separator{border-left:1px solid rgba(209,209,240,0.2)}body.ui-indigo .navbar-gitlab .navbar-sub-nav{color:#d1d1f0}body.ui-indigo .navbar-gitlab .nav>li{color:#d1d1f0}body.ui-indigo .navbar-gitlab .nav>li>a .notification-dot{border:2px solid #292961}body.ui-indigo .navbar-gitlab .nav>li>a.header-help-dropdown-toggle .notification-dot{background-color:#d1d1f0}body.ui-indigo .navbar-gitlab .nav>li>a.header-user-dropdown-toggle .header-user-avatar{border-color:#d1d1f0}@media (min-width: 576px){body.ui-indigo .navbar-gitlab .nav>li>a:hover,body.ui-indigo .navbar-gitlab .nav>li>a:focus{background-color:rgba(209,209,240,0.2)}}body.ui-indigo .navbar-gitlab .nav>li>a:hover svg,body.ui-indigo .navbar-gitlab .nav>li>a:focus svg{fill:currentColor}body.ui-indigo .navbar-gitlab .nav>li>a:hover .notification-dot,body.ui-indigo .navbar-gitlab .nav>li>a:focus .notification-dot{will-change:border-color, background-color;border-color:#4a4a82}body.ui-indigo .navbar-gitlab .nav>li>a:hover.header-help-dropdown-toggle .notification-dot,body.ui-indigo .navbar-gitlab .nav>li>a:focus.header-help-dropdown-toggle .notification-dot{background-color:#fff}body.ui-indigo .navbar-gitlab .nav>li.active>a,body.ui-indigo .navbar-gitlab .nav>li.dropdown.show>a{color:#292961;background-color:#fff}body.ui-indigo .navbar-gitlab .nav>li.active>a:hover svg,body.ui-indigo .navbar-gitlab .nav>li.dropdown.show>a:hover svg{fill:#292961}body.ui-indigo .navbar-gitlab .nav>li.active>a .notification-dot,body.ui-indigo .navbar-gitlab .nav>li.dropdown.show>a .notification-dot{border-color:#fff}body.ui-indigo .navbar-gitlab .nav>li.active>a.header-help-dropdown-toggle .notification-dot,body.ui-indigo .navbar-gitlab .nav>li.dropdown.show>a.header-help-dropdown-toggle .notification-dot{background-color:#292961}body.ui-indigo .navbar-gitlab .nav>li .impersonated-user svg,body.ui-indigo .navbar-gitlab .nav>li .impersonated-user:hover svg{fill:#292961}body.ui-indigo .navbar .title>a:hover,body.ui-indigo .navbar .title>a:focus{background-color:rgba(209,209,240,0.2)}body.ui-indigo .search form{background-color:rgba(209,209,240,0.2)}body.ui-indigo .search form:hover{background-color:rgba(209,209,240,0.3)}body.ui-indigo .search .search-input::placeholder{color:rgba(209,209,240,0.8)}body.ui-indigo .search .search-input-wrap .search-icon,body.ui-indigo .search .search-input-wrap .clear-icon{fill:rgba(209,209,240,0.8)}body.ui-indigo .search.search-active form{background-color:#fff}body.ui-indigo .search.search-active .search-input-wrap .search-icon{fill:rgba(209,209,240,0.8)}body.ui-indigo .nav-sidebar li.active>a{color:#2f2a6b}body.ui-indigo .nav-sidebar .fly-out-top-item a,body.ui-indigo .nav-sidebar .fly-out-top-item a:hover,body.ui-indigo .nav-sidebar .fly-out-top-item.active a,body.ui-indigo .nav-sidebar .fly-out-top-item .fly-out-top-item-container{background-color:#2f2a6b;color:var(--black, #fff)}body.ui-indigo .nav-links li.active a,body.ui-indigo .nav-links li.md-header-tab.active button,body.ui-indigo .nav-links li a.active{border-bottom:2px solid #6666c4}body.ui-indigo .nav-links li.active a .badge.badge-pill,body.ui-indigo .nav-links li.md-header-tab.active button .badge.badge-pill,body.ui-indigo .nav-links li a.active .badge.badge-pill{font-weight:600}body.ui-indigo .emoji-picker-category-active{border-bottom-color:#6666c4}body.ui-indigo .branch-header-title{color:#4b4ba3}body.ui-indigo .ide-sidebar-link.active{color:#4b4ba3}body.ui-indigo .ide-sidebar-link.active.is-right{box-shadow:inset -3px 0 #4b4ba3}

*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15}aside,header{display:block}body{margin:0;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", 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:#303030;text-align:left;background-color:#fff}h1{margin-top:0;margin-bottom:0.25rem}ul{margin-top:0;margin-bottom:1rem}ul ul{margin-bottom:0}strong{font-weight:bolder}a{color:#007bff;text-decoration:none;background-color:transparent}a:not([href]):not([class]){color:inherit;text-decoration:none}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}button{border-radius:0}input,button{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button{text-transform:none}[role="button"]{cursor:pointer}button:not(:disabled),[type="button"]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type="button"]::-moz-focus-inner{padding:0;border-style:none}[type="search"]{outline-offset:-2px}h1{margin-bottom:0.25rem;font-weight:600;line-height:1.2;color:#303030}h1{font-size:2.1875rem}.list-unstyled{padding-left:0;list-style:none}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.form-control{display:block;width:100%;height:34px;padding:0.375rem 0.75rem;font-size:0.875rem;font-weight:400;line-height:1.5;color:#303030;background-color:#fff;background-clip:padding-box;border:1px solid #dbdbdb;border-radius:0.25rem}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #303030}.form-control::placeholder{color:#5e5e5e;opacity:1}.form-control:disabled{background-color:#fafafa;opacity:1}.form-inline{display:flex;flex-flow:row wrap;align-items:center}@media (min-width: 576px){.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}}.btn{display:inline-block;font-weight:400;color:#303030;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:0.375rem 0.75rem;font-size:1rem;line-height:20px;border-radius:0.25rem}.btn:disabled{opacity:0.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.collapse:not(.show){display:none}.dropdown{position:relative}.dropdown-menu-toggle{white-space:nowrap}.dropdown-menu-toggle::after{display:inline-block;margin-left:0.255em;vertical-align:0.255em;content:"";border-top:0.3em solid;border-right:0.3em solid transparent;border-bottom:0;border-left:0.3em solid transparent}.dropdown-menu-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:0.5rem 0;margin:0.125rem 0 0;font-size:1rem;color:#303030;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:0.25rem}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0.25rem 0.5rem}.navbar .container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:0.25rem 0.75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:0.25rem}@media (max-width: 575.98px){.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}.badge{display:inline-block;padding:0.25em 0.4em;font-size:75%;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:0.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:0.6em;padding-left:0.6em;border-radius:10rem}.rounded-circle{border-radius:50% !important}.d-none{display:none !important}.d-block{display:block !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline-block{display:inline-block !important}}@media (min-width: 768px){.d-md-block{display:block !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-block{display:block !important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.m-auto{margin:auto !important}.gl-button{display:inline-flex}.gl-button:not(.btn-link):active{text-decoration:none}.gl-button.gl-button{border-width:0;padding-top:0.5rem;padding-bottom:0.5rem;padding-left:0.75rem;padding-right:0.75rem;background-color:transparent;line-height:1rem;color:#303030;fill:currentColor;box-shadow:inset 0 0 0 1px #bfbfbf;justify-content:center;align-items:center;font-size:0.875rem;border-radius:0.25rem}.gl-button.gl-button.btn-default{background-color:#fff}.gl-button.gl-button.btn-default:active,.gl-button.gl-button.btn-default.active{box-shadow:inset 0 0 0 2px #5e5e5e,0 0 0 1px rgba(255,255,255,0.4),0 0 0 4px rgba(31,117,203,0.48);outline:none;background-color:#dbdbdb}body,.form-control,.search form{font-size:0.875rem}button,html [type="button"],[role="button"]{cursor:pointer}h1{margin-top:20px;margin-bottom:10px}strong{font-weight:bold}a{color:#1068bf}.hidden{display:none !important;visibility:hidden !important}.hide{display:none}.dropdown-menu-toggle::after{display:none}.badge:not(.gl-badge){padding:4px 5px;font-size:12px;font-style:normal;font-weight:400;display:inline-block}.divider{height:0;margin:4px 0;overflow:hidden;border-top:1px solid #dbdbdb}.toggle-sidebar-button .collapse-text,.toggle-sidebar-button .icon-chevron-double-lg-left{color:#666}svg{vertical-align:baseline}html{overflow-y:scroll}body{text-decoration-skip:ink}.btn{border-radius:4px;font-size:0.875rem;font-weight:400;padding:6px 10px;background-color:#fff;border-color:#dbdbdb;color:#303030;color:#303030;white-space:nowrap}.btn:active{background-color:#f0f0f0;box-shadow:none}.btn:active,.btn.active{background-color:#eaeaea;border-color:#e3e3e3;color:#303030}.btn svg{height:15px;width:15px}.btn svg:not(:last-child){margin-right:5px}.badge.badge-pill:not(.gl-badge){font-weight:400;background-color:rgba(0,0,0,0.07);color:#525252;vertical-align:baseline}.gl-font-sm{font-size:12px}.dropdown{position:relative}.search-input-container .dropdown-menu{margin-top:11px}.dropdown-menu-toggle{padding:6px 8px 6px 10px;background-color:#fff;color:#303030;font-size:14px;text-align:left;border:1px solid #dbdbdb;border-radius:0.25rem;white-space:nowrap}.no-outline.dropdown-menu-toggle{outline:0}.dropdown-menu-toggle.dropdown-menu-toggle{justify-content:flex-start;overflow:hidden;padding-right:25px;position:relative;text-overflow:ellipsis;width:160px}.dropdown-menu{display:none;position:absolute;width:auto;top:100%;z-index:300;min-width:240px;max-width:500px;margin-top:4px;margin-bottom:24px;font-size:0.875rem;font-weight:400;padding:8px 0;background-color:#fff;border:1px solid #dbdbdb;border-radius:0.25rem;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.dropdown-menu ul{margin:0;padding:0}.dropdown-menu li{display:block;text-align:left;list-style:none;padding:0 1px}.dropdown-menu li>a,.dropdown-menu li button{background:transparent;border:0;border-radius:0;box-shadow:none;display:block;font-weight:400;position:relative;padding:8px 12px;color:#303030;line-height:16px;white-space:normal;overflow:hidden;text-align:left;width:100%}.dropdown-menu li>a:active,.dropdown-menu li button:active{background-color:#eee;color:#303030;outline:0;text-decoration:none}.dropdown-menu .divider{height:1px;margin:0.25rem 0;padding:0;background-color:#dbdbdb}.dropdown-menu .badge.badge-pill+span:not(.badge):not(.badge-pill){margin-right:40px}@media (max-width: 575.98px){.navbar-gitlab li.dropdown{position:static}.navbar-gitlab li.dropdown.user-counter{margin-left:8px !important}.navbar-gitlab li.dropdown.user-counter>a{padding:0 4px !important}header.navbar-gitlab .dropdown .dropdown-menu{width:100%;min-width:100%}}@media (max-width: 767.98px){.dropdown-menu-toggle{width:100%}}input{border-radius:0.25rem;color:#303030;background-color:#fff}.form-control{border-radius:4px;padding:6px 10px}.form-control::placeholder{color:#868686}.navbar-gitlab{padding:0 16px;z-index:1000;margin-bottom:0;min-height:40px;border:0;position:fixed;top:0;left:0;right:0;border-radius:0}.navbar-gitlab .logo-text{line-height:initial}.navbar-gitlab .logo-text svg{width:55px;height:14px;margin:0;fill:#fff}.navbar-gitlab .close-icon{display:none}.navbar-gitlab .header-content{width:100%;display:flex;justify-content:space-between;position:relative;min-height:40px;padding-left:0}.navbar-gitlab .header-content .title-container{display:flex;align-items:stretch;flex:1 1 auto;padding-top:0;overflow:visible}.navbar-gitlab .header-content .title{padding-right:0;color:currentColor;display:flex;position:relative;margin:0;font-size:18px;vertical-align:top;white-space:nowrap}.navbar-gitlab .header-content .title img{height:28px}.navbar-gitlab .header-content .title img+.logo-text{margin-left:8px}.navbar-gitlab .header-content .title a{display:flex;align-items:center;padding:2px 8px;margin:5px 2px 5px -8px;border-radius:4px}.navbar-gitlab .header-content .navbar-collapse>ul.nav>li:not(.d-none){margin:0 2px}.navbar-gitlab .navbar-collapse{flex:0 0 auto;border-top:0;padding:0}@media (max-width: 575.98px){.navbar-gitlab .navbar-collapse{flex:1 1 auto}}.navbar-gitlab .navbar-collapse .nav{flex-wrap:nowrap}@media (max-width: 575.98px){.navbar-gitlab .navbar-collapse .nav>li:not(.d-none) a{margin-left:0}}.navbar-gitlab .container-fluid{padding:0}.navbar-gitlab .container-fluid .user-counter svg{margin-right:3px}.navbar-gitlab .container-fluid .navbar-toggler{position:relative;right:-10px;border-radius:0;min-width:45px;padding:0;margin:8px -7px 8px 0;font-size:14px;text-align:center;color:currentColor}.navbar-gitlab .container-fluid .navbar-toggler.active{color:currentColor;background-color:transparent}@media (max-width: 575.98px){.navbar-gitlab .container-fluid .navbar-nav{display:flex;padding-right:10px;flex-direction:row}}.navbar-gitlab .container-fluid .navbar-nav li .badge.badge-pill:not(.merge-request-badge){box-shadow:none;font-weight:600}@media (max-width: 575.98px){.navbar-gitlab .container-fluid .nav>li.header-user{padding-left:10px}}.navbar-gitlab .container-fluid .nav>li>a{will-change:color;margin:4px 0;padding:6px 8px;height:32px}@media (max-width: 575.98px){.navbar-gitlab .container-fluid .nav>li>a{padding:0}}.navbar-gitlab .container-fluid .nav>li>a.header-user-dropdown-toggle{margin-left:2px}.navbar-gitlab .container-fluid .nav>li>a.header-user-dropdown-toggle .header-user-avatar{margin-right:0}.navbar-gitlab .container-fluid .nav>li .header-new-dropdown-toggle{margin-right:0}.navbar-sub-nav>li>a,.navbar-sub-nav>li>button,.navbar-nav>li>a,.navbar-nav>li>button{display:flex;align-items:center;justify-content:center;padding:6px 8px;margin:4px 2px;font-size:12px;color:currentColor;border-radius:4px;height:32px;font-weight:600}.navbar-sub-nav>li .top-nav-toggle,.navbar-sub-nav>li>button,.navbar-nav>li .top-nav-toggle,.navbar-nav>li>button{background:transparent;border:0}.navbar-sub-nav .dropdown-menu,.navbar-nav .dropdown-menu{position:absolute}.navbar-sub-nav{display:flex;margin:0 0 0 6px}.caret-down,.btn .caret-down{top:0;height:11px;width:11px;margin-left:4px;fill:currentColor}.header-user .dropdown-menu,.header-new .dropdown-menu{margin-top:4px}.btn-sign-in{background-color:#ebebfa;color:#292961;font-weight:600;line-height:18px;margin:4px 0 4px 2px}.title-container .badge.badge-pill:not(.merge-request-badge),.navbar-nav .badge.badge-pill:not(.merge-request-badge){position:inherit;font-weight:400;margin-left:-6px;font-size:11px;color:var(--gray-950, #fff);padding:0 5px;line-height:12px;border-radius:7px;box-shadow:0 1px 0 rgba(76,78,84,0.2)}.title-container .badge.badge-pill:not(.merge-request-badge).green-badge,.navbar-nav .badge.badge-pill:not(.merge-request-badge).green-badge{background-color:var(--green-400, #2da160)}.title-container .badge.badge-pill:not(.merge-request-badge).merge-requests-count,.navbar-nav .badge.badge-pill:not(.merge-request-badge).merge-requests-count{background-color:var(--orange-400, #c17d10)}.title-container .badge.badge-pill:not(.merge-request-badge).todos-count,.navbar-nav .badge.badge-pill:not(.merge-request-badge).todos-count{background-color:var(--blue-400, #428fdc)}@media (max-width: 575.98px){.navbar-gitlab .container-fluid{font-size:18px}.navbar-gitlab .container-fluid .navbar-nav{table-layout:fixed;width:100%;margin:0;text-align:right}.navbar-gitlab .container-fluid .navbar-collapse{margin-left:-8px;margin-right:-10px}.navbar-gitlab .container-fluid .navbar-collapse .nav>li:not(.d-none){flex:1}.header-user-dropdown-toggle{text-align:center}.header-user-avatar{float:none}}.header-user-avatar{float:left;margin-right:5px;border-radius:50%;border:1px solid #f5f5f5}.notification-dot{background-color:#d99530;height:12px;width:12px;margin-top:-15px;pointer-events:none;visibility:hidden}.top-nav-toggle .dropdown-icon{margin-right:0.5rem}.tanuki-logo .tanuki-left-ear,.tanuki-logo .tanuki-right-ear,.tanuki-logo .tanuki-nose{fill:#e24329}.tanuki-logo .tanuki-left-eye,.tanuki-logo .tanuki-right-eye{fill:#fc6d26}.tanuki-logo .tanuki-left-cheek,.tanuki-logo .tanuki-right-cheek{fill:#fca326}.context-header{position:relative;margin-right:2px;width:220px}.context-header>a,.context-header>button{font-weight:600;display:flex;width:100%;align-items:center;padding:10px 16px 10px 10px;color:#303030;background-color:transparent;border:0;text-align:left}.context-header .avatar-container{flex:0 0 40px;background-color:#fff}.context-header .sidebar-context-title{overflow:hidden;text-overflow:ellipsis;color:#303030}@media (min-width: 768px){.page-with-contextual-sidebar{padding-left:48px}}@media (min-width: 1200px){.page-with-contextual-sidebar{padding-left:220px}}@media (min-width: 768px){.page-with-icon-sidebar{padding-left:48px}}.nav-sidebar{position:fixed;bottom:0;left:0;z-index:600;width:220px;top:40px;background-color:#f0f0f0;transform:translate3d(0, 0, 0)}.nav-sidebar.sidebar-collapsed-desktop{width:48px}.nav-sidebar.sidebar-collapsed-desktop .nav-sidebar-inner-scroll{overflow-x:hidden}.nav-sidebar.sidebar-collapsed-desktop .badge.badge-pill:not(.fly-out-badge),.nav-sidebar.sidebar-collapsed-desktop .nav-item-name,.nav-sidebar.sidebar-collapsed-desktop .collapse-text{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.nav-sidebar.sidebar-collapsed-desktop .sidebar-top-level-items>li>a{min-height:unset}.nav-sidebar.sidebar-collapsed-desktop .fly-out-top-item:not(.divider){display:block !important}.nav-sidebar.sidebar-collapsed-desktop .avatar-container{margin:0 auto}.nav-sidebar.sidebar-collapsed-desktop li.active:not(.fly-out-top-item)>a{background-color:rgba(41,41,97,0.08)}.nav-sidebar a{text-decoration:none;color:#303030}.nav-sidebar li{white-space:nowrap}.nav-sidebar li .nav-item-name{flex:1}.nav-sidebar li>a,.nav-sidebar li>.fly-out-top-item-container{padding-left:0.75rem;padding-right:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;display:flex;align-items:center;border-radius:0.25rem;width:auto;line-height:1rem;margin:1px 4px}.nav-sidebar li.active>a{font-weight:600}.nav-sidebar li.active:not(.fly-out-top-item)>a:not(.has-sub-items){background-color:rgba(41,41,97,0.08)}.nav-sidebar ul{padding-left:0;list-style:none}@media (max-width: 767.98px){.nav-sidebar{left:-220px}}.nav-sidebar .nav-icon-container{display:flex;margin-right:8px}.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item{display:none}.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item a,.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item.active a,.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item .fly-out-top-item-container{margin-left:0;margin-right:0;padding-left:1rem;padding-right:1rem;cursor:default;pointer-events:none;font-size:0.75rem;margin-top:-0.25rem;margin-bottom:-0.25rem;margin-top:0;position:relative;color:#fff;background:var(--black, #000)}.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item a strong,.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item.active a strong,.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item .fly-out-top-item-container strong{font-weight:400}.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item a::before,.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item.active a::before,.nav-sidebar a:not(.has-sub-items)+.sidebar-sub-level-items .fly-out-top-item .fly-out-top-item-container::before{position:absolute;content:"";display:block;top:50%;left:-0.25rem;margin-top:-0.25rem;width:0;height:0;border-top:0.25rem solid transparent;border-bottom:0.25rem solid transparent;border-right:0.25rem solid #000;border-right-color:var(--black, #000)}.nav-sidebar a.has-sub-items+.sidebar-sub-level-items .fly-out-top-item{display:none}.nav-sidebar a.has-sub-items+.sidebar-sub-level-items .fly-out-top-item a,.nav-sidebar a.has-sub-items+.sidebar-sub-level-items .fly-out-top-item.active a,.nav-sidebar a.has-sub-items+.sidebar-sub-level-items .fly-out-top-item .fly-out-top-item-container{margin-left:0;margin-right:0;padding-left:1rem;padding-right:1rem;cursor:default;pointer-events:none;font-size:0.75rem;margin-top:0;border-bottom-left-radius:0;border-bottom-right-radius:0}@media (min-width: 768px) and (max-width: 1199px){.nav-sidebar:not(.sidebar-expanded-mobile){width:48px}.nav-sidebar:not(.sidebar-expanded-mobile) .nav-sidebar-inner-scroll{overflow-x:hidden}.nav-sidebar:not(.sidebar-expanded-mobile) .badge.badge-pill:not(.fly-out-badge),.nav-sidebar:not(.sidebar-expanded-mobile) .nav-item-name,.nav-sidebar:not(.sidebar-expanded-mobile) .collapse-text{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items>li>a{min-height:unset}.nav-sidebar:not(.sidebar-expanded-mobile) .fly-out-top-item:not(.divider){display:block !important}.nav-sidebar:not(.sidebar-expanded-mobile) .avatar-container{margin:0 auto}.nav-sidebar:not(.sidebar-expanded-mobile) li.active:not(.fly-out-top-item)>a{background-color:rgba(41,41,97,0.08)}.nav-sidebar:not(.sidebar-expanded-mobile) .context-header{height:60px;width:48px}.nav-sidebar:not(.sidebar-expanded-mobile) .context-header a{padding:10px 4px}.nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-context-title{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.nav-sidebar:not(.sidebar-expanded-mobile) .context-header{height:auto}.nav-sidebar:not(.sidebar-expanded-mobile) .context-header a{padding:0.25rem}.nav-sidebar:not(.sidebar-expanded-mobile) .sidebar-top-level-items>li .sidebar-sub-level-items:not(.flyout-list){display:none}.nav-sidebar:not(.sidebar-expanded-mobile) .nav-icon-container{margin-right:0}.nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button{width:48px}.nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .collapse-text{display:none}.nav-sidebar:not(.sidebar-expanded-mobile) .toggle-sidebar-button .icon-chevron-double-lg-left{transform:rotate(180deg);margin:0}}.nav-sidebar-inner-scroll{height:100%;width:100%;overflow:auto}.nav-sidebar-inner-scroll>div.context-header{margin-top:0.25rem}.nav-sidebar-inner-scroll>div.context-header a{padding-left:0.75rem;padding-right:0.75rem;padding-top:0.5rem;padding-bottom:0.5rem;display:flex;align-items:center;border-radius:0.25rem;width:auto;line-height:1rem;margin:1px 4px;padding:0.25rem;margin-bottom:0.25rem;margin-top:0}.nav-sidebar-inner-scroll>div.context-header a .avatar-container{font-weight:400;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08)}.nav-sidebar-inner-scroll>div.context-header a .avatar-container.rect-avatar{border-style:none}.nav-sidebar-inner-scroll>div.context-header a .avatar-container.rect-avatar .avatar.s32{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08)}.sidebar-top-level-items{margin-top:0.25rem;margin-bottom:60px}.sidebar-top-level-items .context-header a{padding:0.25rem;margin-bottom:0.25rem;margin-top:0}.sidebar-top-level-items .context-header a .avatar-container{font-weight:400;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08)}.sidebar-top-level-items .context-header a .avatar-container.rect-avatar{border-style:none}.sidebar-top-level-items .context-header a .avatar-container.rect-avatar .avatar.s32{box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08)}.sidebar-top-level-items>li .badge.badge-pill{border-radius:0.5rem;padding-top:0.125rem;padding-bottom:0.125rem;padding-left:0.5rem;padding-right:0.5rem;background-color:#cbe2f9;color:#0b5cad}.sidebar-top-level-items>li.active .sidebar-sub-level-items:not(.is-fly-out-only){display:block}.sidebar-top-level-items>li.active .badge.badge-pill{font-weight:400;color:#0b5cad}.sidebar-sub-level-items{padding-top:0;padding-bottom:0;display:none}.sidebar-sub-level-items:not(.fly-out-list) li>a{padding-left:2.25rem}.toggle-sidebar-button,.close-nav-button{height:48px;padding:0 16px;background-color:#fafafa;border:0;color:#666;display:flex;align-items:center;background-color:#f0f0f0;border-top:1px solid #dbdbdb;position:fixed;bottom:0;width:220px}.toggle-sidebar-button .collapse-text,.toggle-sidebar-button .icon-chevron-double-lg-left,.close-nav-button .collapse-text,.close-nav-button .icon-chevron-double-lg-left{color:inherit}.collapse-text{white-space:nowrap;overflow:hidden}.sidebar-collapsed-desktop .context-header{height:60px;width:48px}.sidebar-collapsed-desktop .context-header a{padding:10px 4px}.sidebar-collapsed-desktop .sidebar-context-title{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sidebar-collapsed-desktop .context-header{height:auto}.sidebar-collapsed-desktop .context-header a{padding:0.25rem}.sidebar-collapsed-desktop .sidebar-top-level-items>li .sidebar-sub-level-items:not(.flyout-list){display:none}.sidebar-collapsed-desktop .nav-icon-container{margin-right:0}.sidebar-collapsed-desktop .toggle-sidebar-button{width:48px}.sidebar-collapsed-desktop .toggle-sidebar-button .collapse-text{display:none}.sidebar-collapsed-desktop .toggle-sidebar-button .icon-chevron-double-lg-left{transform:rotate(180deg);margin:0}.close-nav-button{display:none}@media (max-width: 767.98px){.close-nav-button{display:flex}.toggle-sidebar-button{display:none}}input::-moz-placeholder{color:#868686;opacity:1}input::-ms-input-placeholder{color:#868686}input:-ms-input-placeholder{color:#868686}svg{fill:currentColor}svg.s12{width:12px;height:12px}svg.s16{width:16px;height:16px}svg.s32{width:32px;height:32px}svg.s12{vertical-align:-1px}svg.s16{vertical-align:-3px}.search{margin:0 8px}.search form{display:block;margin:0;padding:4px;width:200px;line-height:24px;height:32px;border:0;border-radius:4px}@media (min-width: 1200px){.search form{width:320px}}.search .search-input{border:0;font-size:14px;padding:0 20px 0 0;margin-left:5px;line-height:25px;width:98%;color:#fff;background:none}.search .search-input-container{display:flex;position:relative}.search .search-input-wrap{width:100%}.search .search-input-wrap .search-icon,.search .search-input-wrap .clear-icon{position:absolute;right:5px;top:4px}.search .search-input-wrap .search-icon{-webkit-user-select:none;user-select:none}.search .search-input-wrap .clear-icon{display:none}.search .search-input-wrap .dropdown{position:static}.search .search-input-wrap .dropdown-menu{left:-5px;max-height:400px;overflow:auto}@media (min-width: 1200px){.search .search-input-wrap .dropdown-menu{width:320px}}.search .identicon{flex-basis:16px;flex-shrink:0;margin-right:4px}.avatar,.avatar-container{float:left;margin-right:16px;border-radius:50%;border:1px solid rgba(0,0,0,0.08)}.avatar.s16,.avatar-container.s16{width:16px;height:16px;margin-right:8px}.avatar.s32,.avatar-container.s32{width:32px;height:32px;margin-right:8px}.avatar{transition-property:none;width:40px;height:40px;padding:0;background:#fdfdfd;overflow:hidden;border-color:rgba(0,0,0,0.1)}.avatar.avatar-tile{border-radius:0;border:0}.identicon{text-align:center;vertical-align:top;color:#303030;background-color:#f0f0f0}.identicon.s16{font-size:10px;line-height:16px}.identicon.s32{font-size:14px;line-height:32px}.identicon.bg1{background-color:#fcf1ef}.identicon.bg2{background-color:#f4f0ff}.identicon.bg3{background-color:#f1f1ff}.identicon.bg4{background-color:#e9f3fc}.identicon.bg5{background-color:#ecf4ee}.identicon.bg6{background-color:#fdf1dd}.identicon.bg7{background-color:#f0f0f0}.avatar-container{overflow:hidden;display:flex}.avatar-container a{width:100%;height:100%;display:flex;text-decoration:none}.avatar-container .avatar{border-radius:0;border:0;height:auto;width:100%;margin:0;align-self:center}.rect-avatar{border-radius:2px}.rect-avatar.s16{border-radius:2px}.rect-avatar.s32,.nav-sidebar-inner-scroll>div.context-header a .avatar-container.rect-avatar .avatar.s32,.sidebar-top-level-items .context-header a .avatar-container.rect-avatar .avatar.s32{border-radius:4px}.tab-width-8{-moz-tab-size:8;tab-size:8}.gl-sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-border-none\!{border-style:none !important}.gl-display-none{display:none}@media (min-width: 36rem){.gl-sm-display-block{display:block}}.gl-absolute{position:absolute}.gl-px-3{padding-left:0.5rem;padding-right:0.5rem}.gl-pr-2{padding-right:0.25rem}.gl-ml-3{margin-left:0.5rem}.gl-mx-0\!{margin-left:0 !important;margin-right:0 !important}.gl-font-sm{font-size:0.75rem}.gl-font-weight-bold{font-weight:600}.content-wrapper>.alert-wrapper,#content-body,.modal-dialog{display:none}

</style>

<link rel="stylesheet" media="all" href="./Baby636 _ flipstarter backend · GitLab_files/application-b7e231ab56aef44772b308b3309135e3d7fe44d0c88c60ced2d8db4f6510545b.css" data-startupcss="loaded">
<link rel="stylesheet" media="all" href="./Baby636 _ flipstarter backend · GitLab_files/project-e4baf3fbc9bbcd5e02b7ae7be3c353f8217f9729d93111c3224ad88defeb2fb5.css" data-startupcss="loaded"><link rel="stylesheet" media="all" href="./Baby636 _ flipstarter backend · GitLab_files/marketing_popover-b07aa1a852143d62bae7c82ce1362076a5dacb598d9ba9f2fa00bdc67b105c3b.css" data-startupcss="loaded">
<link rel="stylesheet" media="all" href="./Baby636 _ flipstarter backend · GitLab_files/application_utilities-3676200ca543122eb8a1e1722a7139b82fbc787011ec0c4c17ac75145f60120f.css" data-startupcss="loaded">


<link rel="stylesheet" media="all" href="./Baby636 _ flipstarter backend · GitLab_files/white-21f90a158663d6eabb1646d83d9e353d6904978fbb8391ab39ab4d1e4a1042f3.css" data-startupcss="loaded">
<script nonce="">
//<![CDATA[
document.querySelectorAll('link[media="print"]').forEach(linkTag => {
  linkTag.setAttribute('data-startupcss', 'loading');
  const startupLinkLoadedEvent = new CustomEvent('CSSStartupLinkLoaded');
  linkTag.addEventListener('load',function(){this.media='all';this.setAttribute('data-startupcss', 'loaded');document.dispatchEvent(startupLinkLoadedEvent);},{once: true});
})

//]]>
</script>

<script nonce="">
//<![CDATA[
window.gon={};gon.api_version="v4";gon.default_avatar_url="https://gitlab.com/assets/no_avatar-849f9c04a3a0d0cea2424ae97b27447dc64a7dbfae83c036c45b403392f0e8ba.png";gon.max_file_size=10;gon.asset_host=null;gon.webpack_public_path="/assets/webpack/";gon.relative_url_root="";gon.user_color_scheme="white";gon.markdown_surround_selection=true;gon.sentry_dsn="https://526a2f38a53d44e3a8e69bfa001d1e8b@sentry.gitlab.net/15";gon.sentry_environment="gprd";gon.gitlab_url="https://gitlab.com";gon.revision="af8e04d574a";gon.feature_category="projects";gon.gitlab_logo="/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png";gon.sprite_icons="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg";gon.sprite_file_icons="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg";gon.emoji_sprites_css_path="/assets/emoji_sprites-3825d771ad697b27553bcece6c17a12969dd7407cf0fe3897aad012efc0bf827.css";gon.select2_css_path="/assets/lazy_bundles/select2-d720397d08b21964ee0c701ea40aa6286d8928eab7edfac24d05b3c63c466b81.css";gon.test_env=false;gon.disable_animations=null;gon.suggested_label_colors={"#009966":"Green-cyan","#8fbc8f":"Dark sea green","#3cb371":"Medium sea green","#00b140":"Green screen","#013220":"Dark green","#6699cc":"Blue-gray","#0000ff":"Blue","#e6e6fa":"Lavendar","#9400d3":"Dark violet","#330066":"Deep violet","#808080":"Gray","#36454f":"Charcoal grey","#f7e7ce":"Champagne","#c21e56":"Rose red","#cc338b":"Magenta-pink","#dc143c":"Crimson","#ff0000":"Red","#cd5b45":"Dark coral","#eee600":"Titanium yellow","#ed9121":"Carrot orange","#c39953":"Aztec Gold"};gon.first_day_of_week=0;gon.time_display_relative=true;gon.ee=true;gon.dot_com=true;gon.current_user_id=9417445;gon.current_username="krise6361";gon.current_user_fullname="KRISTOF kähler";gon.current_user_avatar_url="https://secure.gravatar.com/avatar/082e006edd6c7b6a1cf21613652a0ffa?s=80\u0026d=identicon";gon.features={"snippetsBinaryBlob":false,"usageDataApi":true,"securityAutoFix":false,"improvedEmojiPicker":true,"refactorBlobViewer":false,"increasePageSizeExponentially":false,"cveIdRequestButton":true};gon.roadmap_epics_limit=1000;gon.subscriptions_url="https://customers.gitlab.com";gon.payment_form_url="https://customers.gitlab.com/payment_forms/cc_validation";gon.experiment={"sast_entry_points":{"variant":"banner","experiment":"sast_entry_points","key":"dd44b858e7b5f91b7d4b21f8f5969d2a"},"empty_repo_upload":{"variant":"candidate","experiment":"empty_repo_upload","key":"ac424d38446f7b59685d28a3ac1d3a8a"},"repo_integrations_link":{"variant":"candidate","experiment":"repo_integrations_link","key":"b91ffc338037bcb6d2e4ac0ff43a0b0f"}};
//]]>
</script>

<script src="./Baby636 _ flipstarter backend · GitLab_files/runtime.e12de1a3.bundle.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/main.0c4097b3.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/sentry.bac7571e.chunk.js.Download" defer="defer" nonce=""></script>


<script src="./Baby636 _ flipstarter backend · GitLab_files/graphql.82ca9f18.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-globalSearch-pages.admin.abuse_reports-pages.admin.groups.show-pages.admin.projects-pages.ad-df6172e5.e03e01b5.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/shortcutsBundle.cb876fc8.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.boards-pages.groups.details-pages.groups.epic_boards-pages.groups.show-pages.gr-f8528bc5.d7a77f05.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.projects-pages.projects.activity-pages.projects.alert_management.details-pages.project-38504e7f.6eded771.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.admin.application_settings-pages.admin.application_settings.advanced_search-pages.admi-8ce11132.a72391af.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.epics.index-pages.groups.epics.new-pages.groups.epics.show-pages.groups.iterati-90573a25.476fa885.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.details-pages.groups.epics.index-pages.groups.epics.new-pages.groups.epics.show-d3c54ccd.0d0619ed.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.security.vulnerabilities.index-pages.projects.pipelines.builds-pages.projects.p-459909ed.d028aa91.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.admin.subscriptions.show-pages.projects.blob.show-pages.projects.forks.new-pages.proje-ae26f4f8.88e330db.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.details-pages.groups.group_members-pages.groups.show-pages.projects.merge_confl-4425f40f.1ddbb0cd.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.registry.repositories-pages.ide-pages.projects.registry.repositories-pages.proj-6041feba.16a142d7.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.projects.blob.show-pages.projects.show-pages.projects.snippets.show-pages.projects.tre-c684fcf6.95d6fd8d.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.groups.details-pages.groups.show-pages.profiles.notifications.show-pages.projects.show.48900923.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.projects.blob.show-pages.projects.show-pages.projects.tree.show.ad167d3e.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/commons-pages.projects.show-pages.projects.tree.show.6d3cd6d8.chunk.js.Download" defer="defer" nonce=""></script>
<script src="./Baby636 _ flipstarter backend · GitLab_files/pages.projects.show.8362a9ed.chunk.js.Download" defer="defer" nonce=""></script>
<script nonce="">
//<![CDATA[
window.uploads_path = "/Flipstarter.cash/backend/uploads";



//]]>
</script>
<meta name="csrf-param" content="authenticity_token">
<meta name="csrf-token" content="m4EFJPAGpWjj0Wpwmi31sbW6vhGmnIETuIlcVsa4H3YXraBJxGRTq516sALYpnxmrMH4akcxiCOU4rR1dqRQYw==">
<meta name="csp-nonce" content="flg4DMpJhpFgmykrCk5VUQ==">
<meta name="action-cable-url" content="/-/cable">
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
<meta content="#292961" name="theme-color">
<link rel="apple-touch-icon" type="image/x-icon" href="https://gitlab.com/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png">
<link rel="apple-touch-icon" type="image/x-icon" href="https://gitlab.com/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76">
<link rel="apple-touch-icon" type="image/x-icon" href="https://gitlab.com/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120">
<link rel="apple-touch-icon" type="image/x-icon" href="https://gitlab.com/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152">
<link color="rgb(226, 67, 41)" href="https://gitlab.com/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
<link href="https://gitlab.com/search/opensearch.xml" rel="search" title="Search GitLab" type="application/opensearchdescription+xml">
<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
<meta content="#30353E" name="msapplication-TileColor">
<link rel="alternate" type="application/atom+xml" title="flipstarter backend activity" href="https://gitlab.com/Flipstarter.cash/backend.atom?feed_token=5F8Gd1zjmtUAXsWYFbi9">



<script nonce="">
//<![CDATA[
;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,"script","https://gitlab.com/assets/snowplow/sp-bc5b4b4067898d2d20c35fec045d91d032cb739c3deab5f42607edbeca08323a.js","snowplow"));

window.snowplowOptions = {"namespace":"gl","hostname":"snowplow.trx.gitlab.net","cookieDomain":".gitlab.com","appId":"gitlab","formTracking":true,"linkClickTracking":true}

gl = window.gl || {};
gl.snowplowStandardContext = {"schema":"iglu:com.gitlab/gitlab_standard/jsonschema/1-0-5","data":{"environment":"production","source":"gitlab-rails","plan":null,"extra":{}}}


//]]>
</script>
<style type="text/css">
.commit[data-v-10877758] {
  min-height: 4.75rem;
}
</style><style type="text/css">:root span[title="Ads by Google"], :root span[data-component-type="s-ads-metrics"], :root input[onclick^="window.open('http://www.friendlyduck.com/"], :root input[onclick^="window.open('http://www.FriendlyDuck.com/"], :root iframe[src^="https://pagead2.googlesyndication.com/"], :root iframe[src^="http://static.mozo.com.au/strips/"], :root div[role="navigation"] + c-wiz > div > .kxhcC, :root div[jscontroller="U835zd"] + c-wiz[jsrenderer="YnuqN"], :root div[itemtype="http://www.schema.org/WPAdBlock"], :root div[id^="zergnet-widget"], :root div[id^="taboola-stream-"], :root div[id^="q1-adset-"], :root div[id^="google_dfp_"], :root div[id^="dmRosAdWrapper"], :root div[id^="div_openx_ad_"], :root div[id^="div-adtech-ad-"], :root div[id^="div-ads-"], :root div[id^="dfp-ad-"], :root div[id^="crt-"][style], :root div[id^="cns_ads_"], :root div[id^="block-views-topheader-ad-block-"], :root div[id^="advt-"], :root div[id^="adspot-"], :root div[itemtype="http://schema.org/WPAdBlock"], :root div[id^="ads300_600-widget"], :root div[id^="ads300_100-widget"], :root div[id^="ads250_250-widget"], :root div[id^="ads120_600-widget"], :root div[id^="ad_rect_"], :root div[id^="ad_position_"], :root div[id^="ad_head_celtra_"], :root div[id^="ad_bigbox_"], :root div[id^="ad-position-"], :root div[id^="ad-inserter-"], :root div[id^="ad-gpt-"], :root div[id^="ad-div-"], :root div[data-test-id="AdBannerWrapper"], :root div[data-role="sidebarAd"], :root div[data-mediatype="advertising"], :root div[data-ismultirow="true"][data-id^="CarouselPLA-"], :root div[data-id-advertdfpconf], :root div[data-flt-ve="sponsored_search_ads"], :root div[data-adunit-path], :root div[data-adservice-param-tagid="contentad"], :root div[id^="mainads"], :root div[data-adname], :root div[data-ad-placeholder], :root div[class^="proadszone-"], :root div[class^="pane-adsense-managed-"], :root div[class^="largeRectangleAd_"], :root div[class^="pane-google-admanager-"], :root div[class^="kiwiad-desktop"], :root div[class^="kiwi-ad-wrapper"], :root div[class^="index_adAfterContent_"], :root div[class^="awpcp-random-ads"], :root div[class^="articleAdUnitMPU_"], :root div[class^="ads-partner-"], :root div[class^="adpubs-"], :root div[class^="adbanner_"], :root div[class^="ad_position_"], :root div[class^="ad_border_"], :root div[class^="adUnit_"], :root div[class^="StickyHeroAdWrapper-"], :root div[id^="advads_"], :root div[class^="ResponsiveAd-"], :root div[class^="PreAd_"], :root div[class^="Component-dfp-"], :root div[class^="BlockAdvert-"], :root div[class^="BannerAd_"], :root div[class^="AdhesionAd_"], :root div[class^="Ad__container"], :root div[class^="Ad__bigBox"], :root div[class^="AdItem-"], :root div[class^="AdEmbeded__AddWrapper"], :root div[class^="AdCard_"], :root div[class^="AdBannerWrapper-"], :root div[class*="_browserAdOuterContainer_"], :root div[class$="dealnews"] > .dealnews, :root div[class$="_b-ad-main"], :root div[cel_widget_id="dpx-sponsored-products-detail_csm_instrumentation_wrapper"], :root div[aria-label="Ads"], :root div > [class][onclick*=".updateAnalyticsEvents"], :root display-ads, :root bottomadblock, :root aside[itemtype="https://schema.org/WPAdBlock"], :root aside[id^="advads_ad_widget-"], :root app-advertisement, :root amp-ad-custom, :root ad-desktop-sidebar, :root a[target="_blank"][onmousedown="this.href^='http://paid.outbrain.com/network/redir?"], :root a[target="_blank"][href^="http://api.taboola.com/"], :root a[style="display:block;width:300px;min-height:250px"][href^="http://li.cnet.com/click?"], :root a[src^="https://www.utherverse.com/net/"], :root a[onmousedown^="this.href='https://paid.outbrain.com/network/redir?"][target="_blank"] + .ob_source, :root a[onmousedown^="this.href='https://paid.outbrain.com/network/redir?"][target="_blank"], :root a[onmousedown^="this.href='http://staffpicks.outbrain.com/network/redir?"][target="_blank"] + .ob_source, :root a[onmousedown^="this.href='http://staffpicks.outbrain.com/network/redir?"][target="_blank"], :root a[onmousedown^="this.href='http://paid.outbrain.com/network/redir?"][target="_blank"], :root a[onmousedown^="this.href='/wp-content/embed-ad-content/"], :root div[id^="rc-widget-"], :root a[href^="https://www.what-sexdating.com/"], :root a[href^="https://www.vewwrmp.com/"], :root a[href^="https://www.travelzoo.com/oascampaignclick/"], :root a[href^="https://www.sheetmusicplus.com/"][href*="?aff_id="], :root a[href^="https://www.securegfm.com/"], :root a[href^="https://www.purevpn.com/"][href*="&utm_source=aff-"], :root a[href^="https://www.privateinternetaccess.com/"] > img, :root a[href^="https://www.pornhat.com/"][rel="nofollow"], :root a[href^="https://www.popads.net/users/"], :root a[href^="https://www.passeura.com/"], :root a[href^="https://www.oneclickroot.com/?tap_a="] > img, :root a[href^="https://www.oboom.com/ref/"], :root a[href^="https://www.oboom.com/ad/"], :root a[href^="https://www.nudeidols.com/cams/"], :root a[href^="https://www.mypornstarcams.com/landing/click/"], :root a[href^="https://www.kingsoffetish.com/tour?partner_id="], :root a[href^="https://www.goldenfrog.com/vyprvpn?offer_id="][href*="&aff_id="], :root a[href^="https://www.gambling-affiliation.com/cpc/"], :root a[href^="https://www.g4mz.com/"], :root a[href^="https://www.friendlyduck.com/AF_"], :root a[href^="https://www.financeads.net/tc.php?"], :root a[href^="https://www.clicktraceclick.com/"], :root a[href^="https://www.camsoda.com/enter.php?id="], :root a[href^="https://www.awin1.com/cread.php?awinaffid="], :root a[href^="https://www.arthrozene.com/"][href*="?tid="], :root a[href^="https://www.adxtro.com/"], :root a[href^="https://www.adskeeper.co.uk/"], :root a[href^="https://wittered-mainging.com/"], :root a[href^="https://windscribe.com/promo/"], :root a[href^="https://watchmygirlfriend.tv/"], :root div[id^="banner-ad-"], :root a[href^="https://wantopticalfreelance.com/"], :root a[href^="https://vod09197d7.club/"], :root a[href^="https://usenetxs.website/"], :root a[href^="https://www.mrskin.com/tour"], :root a[href^="https://understandsolar.com/signup/?lead_source="][href*="&tracking_code="], :root a[href^="https://uncensored3d.com/"], :root a[href^="https://uncensored.game/"], :root a[href^="https://trusted-click-host.com/"], :root a[href^="https://trust.zone/go/r.php?RID="], :root a[href^="https://trklvs.com/"], :root a[href^="https://trf.bannerator.com/"], :root div[class^="index_displayAd_"], :root a[href^="https://trappist-1d.com/"], :root a[href^="https://trackjs.com/?utm_source"], :root a[href^="https://tracking.truthfinder.com/?a="], :root a[href^="https://tracking.gitads.io/"], :root a[href^="https://tracking.avapartner.com/"], :root a[href^="https://track.trkinator.com/"], :root a[href^="https://track.totalav.com/"], :root a[href^="https://track.themadtrcker.com/"], :root a[href^="https://track.interactivegf.com/"], :root a[href^="https://track.healthtrader.com/"], :root a[href^="https://track.clickmoi.xyz/"], :root a[href^="https://track.bruceads.com/"], :root a[href^="https://track.afcpatrk.com/"], :root a[href^="http://api.content.ad/"], :root a[href*=".adform.net/"], :root a[href^="https://tour.mrskin.com/"], :root a[href^="https://torguard.net/aff.php"] > img, :root div[data-test-id="AdDisplayWrapper"], :root a[href^="https://tc.tradetracker.net/"] > img, :root [href*=".etracking.pro"], :root a[href^="http://www.firstload.de/affiliate/"], :root a[href^="http://6kup12tgxx.com/"], :root a[href^="https://t.hrtye.com/"], :root a[href^="https://syndication.exoclick.com/splash.php?"], :root a[href^="http://deloplen.com/afu.php?zoneid="], :root a[href*="/cmd.php?ad="], :root a[href^="https://see.kmisln.com/"], :root a[onclick*="//m.economictimes.com/etmack/click.htm"], :root a[href^="https://secure.starsaffiliateclub.com/C.ashx?"], :root a[href*="/adServe/banners?"], :root a[href^="https://secure.bstlnk.com/"], :root .plistaList > .itemLinkPET, :root a[href^="https://scurewall.co/"], :root a[href*="delivery.trafficfabrik.com"], :root a[href^="http://bc.vc/?r="], :root a[href^="https://retiremely.com/"], :root a[href^="https://refpaano.host/"], :root a[href^="https://redsittalvetoft.pro/"], :root a[href^="https://reachtrgt.com/"], :root a[href^="https://pubads.g.doubleclick.net/"], :root a[href^="http://hpn.houzz.com/"], :root a[href^="https://prf.hn/click/"][href*="/creativeref:"] > img, :root a[href^="https://www.mrskin.com/account/"], :root a[href^="https://porngames.adult/?SID="], :root div[class^="zn-sponsored-outbrain-"], :root a[href^="https://partners.fxoro.com/click.php?"], :root a[href^="https://offers.refchamp.com/"], :root a[href^="https://offerforge.net/"], :root a[href^="https://oackoubs.com/"], :root script[src^="http://free-shoutbox.net/app/webroot/shoutbox/sb.php?shoutbox="] + #freeshoutbox_content, :root a[href^="https://myusenet.xyz/"], :root a[href^="https://mmwebhandler.aff-online.com/"], :root a[href^="http://www.gamebookers.com/cgi-bin/intro.cgi?"], :root a[href^="https://mk-ads.com/"], :root a[href^="https://servedbyadbutler.com/"], :root a[href^="https://meet-sexhere.com/"], :root div[data-adzone], :root a[href^="https://aweptjmp.com/"], :root a[href^="https://medleyads.com/"], :root a[href^="https://mcdlks.com/"], :root a[href^="https://ad13.adfarm1.adition.com/"], :root a[href^="https://landing1.brazzersnetwork.com"], :root a[href^="https://landing.brazzersnetwork.com/"], :root a[href^="https://land.rk.com/landing/"], :root a[href^="https://www.brazzersnetwork.com/landing/"], :root a[href^="https://k2s.cc/pr/"], :root a[href^="https://juicyads.in/"], :root a[href^="https://join.dreamsexworld.com/"], :root a[href^="https://jmp.awempire.com/"], :root div[jsdata*="CarouselPLA-"][data-id^="CarouselPLA-"], :root a[href*=".trck5.com/"], :root a[href^="https://iqbroker.com/"][href*="?aff="], :root div[class^="backfill-taboola-home-slot-"], :root .GPMV2XEDA2 > .GPMV2XEDP1 > .GPMV2XEDJBB, :root a[href^="https://incisivetrk.cvtr.io/click?"], :root div[class^="Ad__adContainer"], :root a[href^="https://ilovemyfreedoms.com/"][href*="?affiliate_id="], :root a[href^="http://wopertific.info/"], :root a[href^="https://iactrivago.ampxdirect.com/"], :root div[data-adunit], :root #center_col > #taw > #tvcap > .rscontainer, :root a[href^="https://graizoah.com/"], :root div[class^="hp-ad-rect-"], :root a[href^="https://go.trkclick2.com/"], :root a[href^="https://go.trackitalltheway.com/"], :root c-wiz[jsrenderer="YnuqN"] > div > div > .Rn1jbe, :root [href^="https://www.hostg.xyz/aff_c"], :root a[href^="https://go.strpjmp.com/"], :root a[href^="https://go.stripchat.com/"][href*="&campaignId="], :root a[href^="https://go.onclasrv.com/"], :root a[href^="https://horny-pussies.com/tds"], :root a[href^="https://go.nordvpn.net/aff"] > img, :root a[href^="https://go.hpyrdr.com/"], :root a[href^="https://zononi.com/"], :root a[href^="https://go.ad2up.com/"], :root a[href^="https://go.hpyjmp.com/"], :root [href^="https://ptwmjmp.com/"], :root a[href^="https://go.julrdr.com/"], :root a[href^="http://record.betsafe.com/"], :root a[href^="https://awentw.com/"], :root a[href^="https://go.etoro.com/"] > img, :root a[href^="http://www.uniblue.com/cm/"], :root a[href^="https://mk-cdn.net/"], :root a[href^="//voyeurhit.com/cs/"], :root [href*=".trackmstr.com"], :root a[href^="https://go.ebrokerserve.com/"], :root a[href^="http://trk.mdrtrck.com/"], :root a[href^="https://googleads.g.doubleclick.net/pcs/click"], :root a[href^="http://us.marketgid.com"], :root a[href^="https://fleshlight.sjv.io/"], :root a[href^="https://easygamepromo.com/ef/custom_affiliate/"], :root a[href^="https://earandmarketing.com/"], :root a[href^="https://dltags.com/"], :root a[href^="https://dianches-inchor.com/"], :root a[href^="https://www.get-express-vpn.com/offer/"], :root a[href^="http://servicegetbook.net/"], :root a[href^="https://dediseedbox.com/clients/aff.php?"], :root a[href^="https://cpartner.bdswiss.com/"], :root a[href^="https://clicks.pipaffiliates.com/"], :root div[data-ad-wrapper], :root a[href^="https://clickadilla.com/"], :root a[href^="https://chaturbate.com/affiliates/"], :root AD-TRIPLE-BOX, :root a[href^="https://bs.serving-sys.com"], :root a[href^="https://blackorange.go2cloud.org/"], :root [href*="prayuserparka.com/"], :root a[href^="https://go.cmrdr.com/"], :root .GB3L-QEDGY .GB3L-QEDF- > .GB3L-QEDE-, :root a[href^="https://chaturbate.jjgirls.com/"][href*="?tour="], :root a[href^="https://betway.com/"][href*="&a="], :root [href^="https://join.playboyplus.com/track/"], :root a[href^="https://bestcond1tions.com/"], :root div[id^="ADV-SLOT-"], :root a[href^="https://badoinkvr.com/"], :root a[href^="http://pubads.g.doubleclick.net/"], :root a[href^="https://ad.atdmt.com/"], :root a[href^="https://axdsz.pro/"], :root a[href^="https://prf.hn/click/"][href*="/adref:"] > img, :root a[href^="https://awejmp.com/"], :root a[href^="http://syndication.exoclick.com/"], :root a[href^="https://awecrptjmp.com/"], :root a[href^="https://adultfriendfinder.com/go/page/landing"], :root div[data-spotim-slot], :root a[href^="https://adsrv4k.com/"], :root a[href^="https://adserver.adreactor.com/"], :root a[href^="https://keep2share.cc/pr/"], :root a[href^="https://go.xtbaffiliates.com/"], :root a[href^="https://adclick.g.doubleclick.net/"], :root a[href^="https://ads.trafficpoizon.com/"], :root a[href^="https://ads.planetwin365affiliate.com/redirect.aspx?"], :root a[href^="https://ads.ad4game.com/"], :root [href^="https://online-protection-now.com/"], :root a[href^="https://m.do.co/c/"] > img, :root a[href^="https://ad.doubleclick.net/"], :root a[href^="https://aaucwbe.com/"], :root a[href^="https://a.bestcontentfood.top/"], :root a[href^="https://secure.cbdpure.com/aff/"], :root a[href^="https://a.adtng.com/"], :root a[href^="http://zevera.com/afi.html"], :root a[href^="http://yads.zedo.com/"], :root .inlineNewsletterSubscription + .inlineNewsletterSubscription div[class$="_item"], :root a[href^="http://xtgem.com/click?"], :root a[href^="http://clicks.binarypromos.com/"], :root a[href^="https://static.fleshlight.com/images/banners/"], :root a[href^="http://wxdownloadmanager.com/dl/"], :root a[href^="https://content.oneindia.com/www/delivery/"], :root a[href^="http://www.zergnet.com/i/"], :root [href*="//go2page.net"], :root a[href^="http://www.xmediaserve.com/"], :root a[href^="https://affiliates.bet-at-home.com/processing/"], :root a[href^="http://ad.au.doubleclick.net/"], :root a[href^="http://www.torntv-downloader.com/"], :root .ra[align="right"][width="30%"], :root a[href^="http://www.tirerack.com/affiliates/"], :root a[href^="http://c.ketads.com/"], :root a[href^="http://duckcash.eu/"], :root a[href^="http://www.sex.com/?utm_"], :root a[href^="https://landing.brazzersplus.com/"], :root a[href^="http://www.text-link-ads.com/"], :root div[data-native_ad], :root a[href^="http://vo2.qrlsx.com/"], :root a[href^="http://www.terraclicks.com/"], :root a[href^="http://www.streamtunerhd.com/signup?"], :root a[href^="//srv.buysellads.com/"], :root a[href^="https://deliver.ptgncdn.com/"], :root a[href^="//oardilin.com/"], :root a[href^="http://www.streamate.com/exports/"], :root a[href^="http://www.sfippa.com/"], :root .mod > ._jH + .rscontainer, :root #center_col > #main > .dfrd > .mnr-c > .c._oc._zs, :root a[href^="http://www.sex.com/videos/?utm_"], :root a[href^="https://syndication.dynsrvtbg.com/splash.php?"], :root a[href^="https://explore.findanswersnow.net/"], :root a[href^="http://www.sex.com/pics/?utm_"], :root a[href^="http://server.cpmstar.com/click.aspx?poolid="], :root a[href^="http://www.securegfm.com/"], :root #rhs_block .mod > .gws-local-hotels__booking-module, :root a[href^="http://www.roboform.com/php/land.php"], :root a[href^="https://squren.com/rotator/?atomid="], :root a[href^="http://www.revenuehits.com/"], :root a[href^="http://www.coiwqe.site/"], :root a[href^="http://www.plus500.com/?id="], :root a[href^="http://go.mobisla.com/"], :root .trc_rbox_div .syndicatedItem, :root a[href^="https://secure.adnxs.com/clktrb?"], :root [data-freestar-ad], :root a[href^="http://www.pinkvisualpad.com/?revid="], :root a[href^="https://members.linkifier.com/public/affiliateLanding?refCode="], :root a[href^="http://www.pinkvisualgames.com/?revid="], :root div[class^="block-openx-"], :root a[href*=".directtl.xyz/"], :root a[href^="http://www.paddypower.com/?AFF_ID="], :root a[href^="https://topoffers.com/"][href*="/?pid="], :root a[href^="http://www.on2url.com/app/adtrack.asp"], :root a[href^="http://www.myfreecams.com/?co_id="][href*="&track="], :root div[id^="gtm-ad-"], :root a[href^="http://www.my-dirty-hobby.com/?sub="], :root iframe[src*="mellowads.com"], :root a[href^="http://www.seekbang.com/cs/"], :root [name^="google_ads_iframe"], :root a[href^="http://bs.serving-sys.com/"], :root a[href^="http://www.menaon.com/installs/"], :root a[href^="https://www.spyoff.com/"], :root a[href^="http://www.linkbucks.com/referral/"], :root a[href^="http://www.ragazzeinvendita.com/?rcid="], :root a[href^="http://www.graboid.com/affiliates/"], :root #cnt #center_col > #res > #topstuff > .ts, :root a[href*=".tfaln.com/"], :root a[href^="http://www.getyourguide.com/?partner_id="], :root a[href^="http://www.friendlyduck.com/AF_"], :root a[href^="http://www.friendlyadvertisements.com/"], :root a[href^="http://www.fpcTraffic2.com/blind/in.cgi?"], :root a[href^="https://prf.hn/click/"][href*="/camref:"] > img, :root a[href^="http://www.fleshlight.com/"], :root a[href^="http://www.flashx.tv/downloadthis"], :root div[class^="index__adWrapper"], :root #MAIN.ShowTopic > .ad, :root a[href^="http://www.ducksnetwork.com/"], :root a[href^="https://billing.purevpn.com/aff.php"] > img, :root a[href^="http://www.downloadthesefiles.com/"], :root a[href^="http://www.downloadplayer1.com/"], :root a[href^="http://www.myfreepaysite.com/sfw_int.php?aid"], :root a[href*=".ichlnk.com/"], :root a[href^="http://www.dealcent.com/register.php?affid="], :root a[href^="http://www.clkads.com/adServe/"], :root a[href^="http://www.bet365.com/"][href*="affiliate="], :root a[href^="http://www.babylon.com/welcome/index?affID"], :root a[href^="http://www.amazon.co.uk/exec/obidos/external-search?"], :root a[href^="https://refpaexhil.top/"], :root a[href^="http://www.afgr3.com/"], :root a[href^="http://srvpub.com/"], :root a[href^="https://cpmspace.com/"], :root .ob-widget > .ob-first.ob-widget-section, :root a[href^="http://www.afgr2.com/"], :root a[href^="http://lp.ezdownloadpro.info/"], :root a[href^="https://mediaserver.gvcaffiliates.com/renderBanner.do?"], :root iframe[id^="google_ads_frame"], :root a[href^="http://www.greenmangaming.com/?tap_a="], :root a[href^="http://www.adultdvdempire.com/?partner_id="][href*="&utm_"], :root a[href^="http://www.adskeeper.co.uk/"], :root a[href^="https://refpasrasw.world/"], :root div[class^="index_adBeforeContent_"], :root a[href^="http://c43a3cd8f99413891.com/"], :root a[href^="http://www.123-reg.co.uk/affiliate2.cgi"], :root a[href^="http://webtrackerplus.com/"], :root a[href^="http://webgirlz.online/landing/"], :root a[href^="http://web.adblade.com/"], :root a[href^="https://bullads.net/get/"], :root a[href^="https://my-movie.club/"], :root a[href^="https://awptjmp.com/"], :root a[href^="https://adhealers.com/"], :root a[href^="http://www.duckcash.eu/"], :root a[href^="http://adserver.adreactor.com/"], :root a[href^="http://uploaded.net/ref/"], :root a[href*="//ridingintractable.com/"], :root a[href^="http://ad.doubleclick.net/"], :root a[href^="http://ul.to/ref/"], :root a[href^="https://ovb.im/"], :root a[href^="http://track.trkvluum.com/"], :root a[href^="http://tour.mrskin.com/"], :root a[href^="http://pwrads.net/"], :root a[href^="https://iqoption.com/lp/mobile-partner/"][href*="?aff="], :root a[href^="https://www.adultempire.com/"][href*="?partner_id="], :root a[href^="http://tezfiles.com/pr/"], :root a[href^="http://tc.tradetracker.net/"] > img, :root a[href^="http://www.bitlord.me/share/"], :root a[href^="http://www.down1oads.com/"], :root a[href^="http://t.wowtrk.com/"], :root a[href^="http://www.friendlyquacks.com/"], :root [href^="https://traffserve.com/"], :root a[href^="http://bluehost.com/track/"], :root a[href^="http://www.download-provider.org/"], :root a[href^="http://traffic.tc-clicks.com/"], :root a[href^="http://spygasm.com/track?"], :root a[href^="https://track.wg-aff.com"], :root a[href^="https://creacdn.top-convert.com/"], :root a[href^="http://sharesuper.info/"], :root dile-cookies-consent, :root a[href^="http://www.wantstraffic.com/"], :root a[href^="http://www.hibids10.com/"], :root a[href^="http://www.fducks.com/"], :root a[href^="http://adsrv.keycaptcha.com"], :root a[href^="http://serve.williamhill.com/promoRedirect?"], :root a[href^="http://semi-cod.com/clicks/"], :root a[href^="https://syndication.optimizesrv.com/splash.php?"], :root a[href^="https://cams.imagetwist.com/in/?track="], :root a[href^="http://see-work.info/"], :root a[href^="http://secure.cbdpure.com/aff/"], :root div[class^="sp-adslot-"], :root a[href^="https://chaturbate.com/in/?track="], :root a[href^="http://searchtabnew.com/"], :root a[href^="http://s9kkremkr0.com/"], :root a[href^="http://refpaano.host/"], :root a[href^="http://pan.adraccoon.com?"], :root a[href^="https://ads-for-free.com/click.php?"], :root a[href^="https://paid.outbrain.com/network/redir?"], :root a[href^="http://refer.webhostingbuzz.com/"], :root a[href^="https://financeads.net/tc.php?"], :root a[href^="http://reallygoodlink.extremefreegames.com/"], :root a[href^="http://popup.taboola.com/"], :root a[href^="http://play4k.co/"], :root a[href^="http://onclickads.net/"], :root a[href^="http://n.admagnet.net/"], :root a[href^="http://mob1ledev1ces.com/"], :root div[id^="amzn-assoc-ad"], :root a[href^="https://land.brazzersnetwork.com/landing/"], :root a[href^="http://mmo123.co/"], :root a[href^="http://mgid.com/"], :root a[href^="http://media.paddypower.com/redirect.aspx?"], :root #rhswrapper > #rhssection[border="0"][bgcolor="#ffffff"], :root [id*="MGWrap"], :root a[href*="pussl3.com"], :root a[href^="https://track.52zxzh.com/"], :root a[href^="https://bnsjb1ab1e.com/"], :root a[href^="http://marketgid.com"], :root a[href^="http://liversely.net/"], :root a[href^="http://secure.signup-page.com/"], :root div[data-crl="true"][data-id^="CarouselPLA-"], :root a[href^="http://linksnappy.com/?ref="], :root a[href^="http://landingpagegenius.com/"], :root [href*=".adcampo.com/"], :root a[href^="http://keep2share.cc/pr/"], :root a[href^="http://istri.it/?"], :root a[href^="http://intent.bingads.com/"], :root .widget-pane-section-result[data-result-ad-type], :root a[href^="http://imads.integral-marketing.com/"], :root a[data-url^="http://paid.outbrain.com/network/redir?"] + .author, :root a[href^="http://hyperlinksecure.com/go/"], :root a[href*="?adlivk="][href*="&refer="], :root a[href^="http://https://www.get-express-vpn.com/offer/"], :root a[href^="http://guideways.info/"], :root .vi-lb-placeholder[title="ADVERTISEMENT"], :root #flowplayer > div[style="position: absolute; width: 300px; height: 275px; left: 222.5px; top: 85px; z-index: 999;"], :root a[href^="http://join3.bannedsextapes.com/track/"], :root a[href^="http://see.kmisln.com/"], :root [href*=".revrtb.com/"], :root a[href^="http://greensmoke.com/"], :root a[href^="http://goldmoney.com/?gmrefcode="], :root a[href^="http://go.xtbaffiliates.com/"], :root #rhs_block > .ts[cellspacing="0"][cellpadding="0"][style="padding:0"], :root a[href^="http://go.oclaserver.com/"], :root a[href^="http://www.usearchmedia.com/signup?"], :root a[href^="http://go.fpmarkets.com/"], :root a[href^="http://go.ad2up.com/"], :root a[href^="http://get.slickvpn.com/"], :root a[href^="http://galleries.securewebsiteaccess.com/"], :root a[href^="https://track.ultravpn.com/"], :root a[href^="http://www.socialsex.com/"], :root a[href^="http://g1.v.fwmrm.net/ad/"], :root a[href^="http://fsoft4down.com/"], :root a[href^="https://gogoman.me/"], :root a[href^="http://www.adbrite.com/mb/commerce/purchase_form.php?"], :root a[href^="http://freesoftwarelive.com/"], :root a[href^="http://feedads.g.doubleclick.net/"], :root a[href^="http://farm.plista.com/pets"], :root a[href^="http://extra.bet365.com/"][href*="?affiliate="], :root a[href^="http://engine.newsmaxfeednetwork.com/"], :root a[href^="http://elitefuckbook.com/"], :root a[href^="http://look.djfiln.com/"], :root a[href^="http://eclkmpsa.com/"], :root a[href^="https://affiliate.geekbuying.com/gkbaffiliate.php?"], :root a[href^="http://earandmarketing.com/"], :root a[href^="http://lp.ncdownloader.com/"], :root .GFYY1SVD2 > .GFYY1SVC2 > .GFYY1SVF5, :root div[id^="lazyad-"], :root div[class^="advertisement-desktop"], :root #rhs_block > ol > .rhsvw > .kp-blk > .xpdopen > ._OKe > ol > ._DJe > .luhb-div, :root img[alt^="Fuckbook"], :root a[href^="http://adrunnr.com/"], :root a[href^="http://www.webtrackerplus.com/"], :root [href^="/admdownload.php"], :root div[class^="kiwiad-popup"], :root a[href^="http://download-performance.com/"], :root a[href^="https://gghf.mobi/"], :root a[href^="//postlnk.com/"], :root a[href*=".qertewrt.com/"], :root a[href^="http://dftrck.com/"], :root a[href^="//awejmp.com/"], :root a[href^="http://d2.zedo.com/"], :root a[href*="=exoclick"], :root a[href^="http://a63t9o1azf.com/"], :root a[href^="http://cpaway.afftrack.com/"], :root a[href*=".xromp.com/landing/click/"], :root a[href^="http://clkmon.com/adServe/"], :root a[href^="http://clickserv.sitescout.com/"], :root .ch[onclick="ga(this,event)"], :root a[href^="http://chaturbate.com/affiliates/"], :root [href^="http://advertisesimple.info/"], :root a[href^="http://cdn3.adexprts.com/"], :root #cnt #center_col > #taw > #tvcap > .c._oc._Lp, :root a[href^="http://buysellads.com/"], :root a[href^="http://cdn.adstract.com/"], :root a[href^="//5e1fcb75b6d662d.com/"], :root a[href^="http://campaign.bharatmatrimony.com/cbstrack/"], :root div[id^="ad-cid-"], :root a[href^="http://cdn.adsrvmedia.net/"], :root a[href^="http://campaign.bharatmatrimony.com/track/"], :root a[href^="https://farm.plista.com/pets"], :root a[href^="http://czotra-32.com/"], :root [href^="https://rapidgator.net/article/premium/ref/"], :root a[href^="http://click.plista.com/pets"], :root .commercial-unit-desktop-rhs > .iKidV > .Ee92ae + .P2mpm + .hp3sk, :root a[href^="http://c.jumia.io/"], :root [data-dynamic-ads], :root a[href^="https://sexsimulator.game/tab/?SID="], :root a[href^="http://c.actiondesk.com/"], :root div[class^="Display_displayAd"], :root a[href*=".fwd28.com/"], :root a[href^="http://bodelen.com/"], :root a[href^="http://betahit.click/"], :root a[href^="http://bcp.crwdcntrl.net/"], :root a[href^="https://porndeals.com/?track="], :root a[href^="http://finaljuyu.com/"], :root a[href^="http://adprovider.adlure.net/"], :root a[href^="http://codec.codecm.com/"], :root a[href^="https://msecure117.com/"], :root a[onmousedown^="this.href='http://paid.outbrain.com/network/redir?"][target="_blank"] + .ob_source, :root a[href^="http://affiliates.score-affiliates.com/"], :root a[href^="https://goraps.com/"], :root [id^="bunyad_ads_"], :root .trc_rbox .syndicatedItem, :root [href^="http://www.star-clicks.com/"], :root a[href^="http://cwcams.com/landing/click/"], :root a[href^="http://affiliates.pinnaclesports.com/processing/"], :root a[href^="http://adtrackone.eu/"], :root div[id^="traffective-ad-"], :root a[href^="http://adtrack123.pl/"], :root [href^="https://join3.bannedsextapes.com"], :root [src^="http://api.lanistaads.com/ServeAd?"], :root a[data-url^="http://paid.outbrain.com/network/redir?"], :root a[href^="http://www.gfrevenge.com/landing/"], :root a[href^="http://www.cash-duck.com/"], :root a[href^="http://fusionads.net"], :root a[href^="https://www.chngtrack.com/"], :root a[href^="http://adserver.adtechus.com/"], :root a[href^="http://ads2.williamhill.com/redirect.aspx?"], :root div[id^="vuukle-ad-"], :root a[href^="http://adlev.neodatagroup.com/"], :root [id^="adframe_wrap_"], :root a[href^="http://adclick.g.doubleclick.net/"], :root [href*=".securesafemembers.com"], :root a[href^="http://anonymous-net.com/"], :root a[href^="http://ad.yieldmanager.com/"], :root a[href^="https://ads.betfair.com/redirect.aspx?"], :root div[id^="ads300_250-widget"], :root [href*="maskip.co/"], :root a[href^="http://aflrm.com/"], :root a[href^="http://wct.link/"], :root a[href^="http://ad-emea.doubleclick.net/"], :root .ob_container .item-container-obpd, :root a[href^="http://click.payserve.com/"], :root .__zinit .__y_item, :root [href^="https://go.4rabettraff.com/"], :root a[href^="http://online.ladbrokes.com/promoRedirect?"], :root a[href^="http://4c7og3qcob.com/"], :root [href^="https://wct.link/"], :root a[href^="http://3wr110.net/"], :root a[href^="http://rs-stripe.wsj.com/stripe/redirect"], :root a[href^="http://1phads.com/"], :root a[href^="https://fonts.fontplace9.com/"], :root #header + #content > #left > #rlblock_left, :root [src*="//www.dianomi.com/smartads.epl"], :root span[id^="ezoic-pub-ad-placeholder-"], :root a[href^="http://affiliate.coral.co.uk/processing/"], :root a[href^="//www.pd-news.com/"], :root a[href^="https://flirtaescopa.com/"], :root a[href^="http://pokershibes.com/index.php?ref="], :root a[href*="3wr110.xyz/"], :root a[href^="//www.mgid.com/"], :root a[href^="https://t.mobtya.com/"], :root a[href^="//syndication.dynsrvtbg.com/splash.php?"], :root a[href^="https://deliver.tf2www.com/"], :root a[href^="//porngames.adult/?SID="], :root a[href^="https://torrentsafeguard.com/?aid="], :root a[href^="https://chaturbate.xyz/"], :root a[href^="//mob1ledev1ces.com/"], :root a[href^="//zenhppyad.com/"], :root div[id^="drudge-column-ads-"], :root a[href^="https://unreshiramor.com/"], :root a[href^="http://www.adxpansion.com"], :root [href^="https://track.fiverr.com/visit/"] > img, :root a[href^="http://go.247traffic.com/"], :root a[href^="//nlkdom.com/"], :root a[href*=".red90121.com/"], :root div[id^="sticky_ad_"], :root a[href^="//look.djfiln.com/"], :root a[href^="https://albionsoftwares.com/"], :root [onclick*="content.ad/"], :root a[href^="//4c7og3qcob.com/"], :root a[href^="//40ceexln7929.com/"], :root [href*=".mclick.net"], :root a[href^="//00ae8b5a9c1d597.com/"], :root a[href^="http://dwn.pushtraffic.net/"], :root a[href^=".vddfe.club/"], :root a[href*="onclkds."], :root a[href*="n47adshostnet.com/"], :root a[href^="https://www.bet365.com/"][href*="affiliate="], :root a[href^="//pubads.g.doubleclick.net/"], :root td[valign="top"] > .mainmenu[style="padding:10px 0 0 0 !important;"], :root a[href^="https://t.hrtyj.com/"], :root a[href*="get-express-vpn.xyz"], :root div[class^="adsbutt_wrapper_"], :root a[href^="http://ads.sprintrade.com/"], :root a[href^="//z6naousb.com/"], :root .commercial-unit-mobile-top > .v7hl4d, :root #\5f _mom_ad_12, :root #content > #center > .dose > .dosesingle, :root a[href^="//db52cc91beabf7e8.com/"], :root .commercial-unit-mobile-top .jackpot-main-content-container > .UpgKEd + .nZZLFc > .vci, :root .mod > .gws-local-promotions__border, :root .section-subheader > .section-hotel-prices-header, :root a[href*="a2g-secure.com"], :root a[href^="https://clixtrac.com/"], :root .icons-rss-feed + .icons-rss-feed div[class$="_item"], :root a[href*="ad2upapp.com/"], :root a[href^="http://hd-plugins.com/download/"], :root a[href^="http://NowDownloadAll.com"], :root a[href^="https://www.share-online.biz/affiliate/"], :root a[href^="https://iac.ampxdirect.com/"], :root a[href^="http://www.dl-provider.com/search/"], :root #atvcap + #tvcap > .mnr-c > .commercial-unit-mobile-top, :root a[href*="=adscript"], :root a[href^="http://databass.info/"], :root a[href^="https://affiliate.rusvpn.com/click.php?"], :root [href^="https://www.xvbelink.com/"], :root a[href*="/adrotate-out.php?"], :root a[href^="http://admrotate.iplayer.org/"], :root a[href^="http://www.freefilesdownloader.com/"], :root a[href^="https://mob1ledev1ces.com/"], :root div[id^="proadszone-"], :root a[href^="http://record.sportsbetaffiliates.com.au/"], :root a[href^="http://affiliate.glbtracker.com/"], :root a[href^="http://9nl.es/"], :root .__y_elastic .__y_item, :root div[id^="dfp-slot-"], :root [href*="//securesafemembers.com"], :root a[data-oburl^="https://paid.outbrain.com/network/redir?"], :root a[href^="http://wgpartner.com/"], :root a[href*=".cfm?fp="][href*="&prvtof="], :root a[href*="//bongacams2.com/track?"], :root a[href^="http://amzn.to/"] > img[src^="data"], :root a[href^="http://espn.zlbu.net/"], :root a[href*="//promo-bc.com/track?"], :root a[href^="http://www.myfreepaysite.com/sfw.php?aid"], :root a[href*="//bongacams5.com/track?"], :root a[href^="http://ad-apac.doubleclick.net/"], :root div[id^="adfox_"], :root a[href^="http://k2s.cc/code/"], :root .ra[width="30%"][align="right"] + table[width="70%"][cellpadding="0"], :root a[href*="//bongacams.com/track?"], :root #assetsListings[style="display: block;"], :root a[href^="http://azmobilestore.co/"], :root a[href^="https://tracking.comfortclick.eu/"], :root a[href*=".udncoeln.com/"], :root a[href^="https://djtcollectorclub.org/"][href*="?affiliate_id="], :root a[href^="https://chaturbate.com/in/?tour="], :root .GFYY1SVE2 > .GFYY1SVD2 > .GFYY1SVG5, :root a[href*=".trust.zone"], :root a[href^="//medleyads.com/spot/"], :root #tads + div + .c, :root a[href^="http://banners.victor.com/processing/"], :root a[href*=".surfmdia.com/"], :root aside[id^="adrotate_widgets-"], :root a[href^="https://join.sexworld3d.com/track/"], :root a[href*=".orange2258.com/"], :root [lazy-ad="leftthin_banner"], :root a[href^="https://rev.adsession.com/"], :root a[href*=".opskln.com/"], :root div[id^="ezoic-pub-ad-"], :root a[href*=".irtyc.com/"], :root a[href^="https://giftsale.co.uk/?utm_"], :root a[href*=".inclk.com/"], :root a[href^="http://ethfw0370q.com/"], :root FBS-AD, :root a[href^="https://ttf.trmobc.com/"], :root a[href*=".frtyl.com/"], :root a[href*="/servlet/click/zone?"], :root a[href$="/vghd.shtml"], :root div[data-subscript="Advertising"], :root a[data-widget-outbrain-redirect^="http://paid.outbrain.com/network/redir?"], :root a[href*=".allsports4you.club"], :root a[href*=".clkcln.com/"], :root a[href^="http://360ads.go2cloud.org/"], :root a[href^="http://z1.zedo.com/"], :root a[data-redirect^="https://paid.outbrain.com/network/redir?"], :root a[data-redirect^="http://paid.outbrain.com/network/redir?"], :root a[href^="https://meet-to-fuck.com/tds"], :root a[data-redirect^="http://click.plista.com/pets"], :root a[href^="https://s.zlink2.com/"], :root div[data-content="Advertisement"], :root a[data-oburl^="http://paid.outbrain.com/network/redir?"], :root a[href^="https://track.afftck.com/"], :root a[href^="http://hotcandyland.com/partner/"], :root [href^="https://pulsetrack.biz/"], :root div[class*="-storyBodyAd-"], :root a[class="RBAd"], :root [src^="//adtorio.com/"], :root a[href*=".smartadserver.com"], :root .rhsvw[style="background-color:#fff;margin:0 0 14px;padding-bottom:1px;padding-top:1px;"], :root div[class^="lifeOnwerAd"], :root [onclick^="window.open('window.open('//delivery.trafficfabrik.com/"], :root [onclick^="window.open('https://www.brazzersnetwork.com/landing/"], :root #ads > .dose > .dosesingle, :root #center_col > #resultStats + div[style="border:1px solid #dedede;margin-bottom:11px;padding:5px 7px 5px 6px"], :root a[href*=".intab.fun/"], :root a[href^="https://adnetwrk.com/"], :root [href^="http://stvkr.com/"], :root a[href^="http://www.urmediazone.com/signup"], :root a[href^="http://adf.ly/?id="], :root a[href^="http://www.1clickdownloader.com/"], :root [onclick^="window.open('http://adultfriendfinder.com/search/"], :root a[href^="http://www.sexgangsters.com/?pid="], :root a[href^="http://www.twinplan.com/AF_"], :root #tads[aria-label], :root [lazy-ad="leftbottom_banner"], :root [id^="google_ads_iframe"], :root a[href^="https://go.markets.com/visit/?bta="], :root #ssmiwdiv[jsdisplay], :root a[href*=".revimedia.com/"], :root [id^="div-gpt-ad"], :root [href*=".afftracks.online/"], :root a[href^="http://www.duckssolutions.com/"], :root a[href^="http://ads.betfair.com/redirect.aspx?"], :root a[href^="//4f6b2af479d337cf.com/"], :root [href*=".ltroute.com/"], :root [id^="ad-wrap-"], :root a[href^="http://partners.etoro.com/"], :root a[href^="https://www.iyalc.com/"], :root #\5f _mom_ad_2, :root [href^="https://www.reimageplus.com/"], :root .commercial-unit-mobile-top .jackpot-main-content-container > .UpgKEd + .nZZLFc > div > .vci, :root a[href^="https://go.247traffic.com/"], :root a[href^="http://adserving.unibet.com/"], :root a[href^="http://www.cdjapan.co.jp/aff/click.cgi/"], :root [href^="https://secure.bmtmicro.com/servlets/"], :root [href^="https://www.highrevenuecpm.com"], :root a[href^="http://www.hitcpm.com/"], :root a[href^="http://45eijvhgj2.com/"], :root [href*="wap4dollar.com/"], :root a[href*=".ad-center.com/"], :root a[href^="http://stateresolver.link/"], :root a[href^="http://k2s.cc/pr/"], :root [href*="cadsecs.com/"], :root [href^="https://veepn.g2afse.com/"], :root #mn #center_col > div > h2.spon:first-child, :root .plistaList > .plista_widget_underArticle_item[data-type="pet"], :root a[href^="//jsmptjmp.com/"], :root #center_col > #taw > #tvcap > .commercial-unit-desktop-top, :root div[id^="adrotate_widgets-"], :root [href^="https://shiftnetwork.infusionsoft.com/go/"], :root a[href^="https://ismlks.com/"], :root [href^="https://refpahrwzjlv.top/"], :root [href^="https://reactads.engine.adglare.net/"], :root [src*="https://cdn.cloudimagesb.com/"], :root a[href^=" http://www.sex.com/"][href*="&utm_"], :root div[class^="Directory__footerAds"], :root a[href^="https://weedzy.co.uk/"][href*="&utm_"], :root a[href^="http://www.fbooksluts.com/"], :root a[href^="https://www.firstload.com/affiliate/"], :root a[href^="http://adultgames.xxx/"], :root div[id^="divAdvAD_"], :root a[href^="https://tm-offers.gamingadult.com/"], :root a[href*="//bongacams7.com/track?"], :root [href^="https://mysbitl.com"], :root #center_col > #resultStats + #tads, :root a[href^="http://adserver.adtech.de/"], :root a[href^="http://down1oads.com/"], :root a[href*=".adsrv.eacdn.com/"] > img, :root [href^="https://bulletprofitsmartlink.com/"], :root [href^="https://affect3dnetwork.com/track/"], :root div[class*="margin-Advert"], :root a[href^="//adbit.co/?a=Advertise&"], :root .ob_dual_right > .ob_ads_header ~ .odb_div, :root a[href^="https://americafirstpolls.com/"], :root a[href^="http://findersocket.com/"], :root [href^="https://r.kraken.com/"], :root #rhs_block .xpdopen > ._OKe > div > .mod > ._yYf, :root .rscontainer > .ellip, :root a[href^="http://a.adquantix.com/"], :root [href^="/ucmini.php"], :root #center_col > #res > #topstuff + #search > div > #ires > #rso > #flun, :root [href^="/ucdownload.php"], :root a[href^="//88d7b6aa44fb8eb.com/"], :root .trc_rbox_border_elm .syndicatedItem, :root a[href^="http://www.badoink.com/go.php?"], :root a[href*=".axdsz.pro/"], :root a[href^="http://www.quick-torrent.com/download.html?aff"], :root .grid > .container > #aside-promotion, :root [href*="get-download.club/"], :root a[href^="http://aff.ironsocket.com/"], :root a[href^="http://y1jxiqds7v.com/"], :root a[href^="http://taboola-"][href*="/redirect.php?app.type="], :root a[href*=".clksite.com/"], :root div[id^="yandex_ad"], :root [href^="/ucdownloader.php"], :root [href*="//mclick.net"], :root [href*="//etracking.pro"], :root a[href^="https://join.virtuallust3d.com/"], :root #topstuff > #tads, :root .jobs-information-call-to-action + .jobs-information-call-to-action div[class$="_item"], :root [href*="//doubleclick-net.com"], :root div[class*="_AdInArticle_"], :root a[href^="https://playuhd.host/"], :root [src^="/Redirect.a2b?"], :root a[href^="http://liversely.com/"], :root [href*=".trackout.business"], :root a[href*="=Adtracker"], :root [href*="//trackout.business"], :root div[class^="SponsoredAds"], :root a[href^="https://look.utndln.com/"], :root a[href^="https://spygasm.com/track?"], :root a[href^="http://papi.mynativeplatform.com:80/pub2/"], :root aside[id^="tn_ads_widget-"], :root a[href^="https://go.currency.com/"], :root a[href^="http://bestorican.com/"], :root a[data-nvp*="'trafficUrl':'https://paid.outbrain.com/network/redir?"], :root a[href^="http://secure.vivid.com/track/"], :root .commercial-unit-mobile-top > div[data-pla="1"], :root [href*=".grtya.com/"], :root a[href^="https://ad.zanox.com/ppc/"] > img, :root a[href^="http://www.liutilities.com/"], :root a[href^="//go.onclasrv.com/"], :root a[href^="http://www.onwebcam.com/random?t_link="], :root [data-ad-module], :root [data-ad-manager-id], :root .nrelate .nr_partner, :root [ad-id^="googlead"], :root [href^="https://detachedbates.com/"], :root a[href^="http://www.idownloadplay.com/"], :root .__ywl .__y_item, :root a[href*="deliver.trafficfabrik.com"], :root AMP-AD, :root div[id^="tms-ad-dfp-"], :root a[href^="https://go.gldrdr.com/"], :root AFS-AD, :root a[href^="//healthaffiliate.center/"], :root #mbEnd[cellspacing="0"][cellpadding="0"], :root a[href^="http://go.seomojo.com/tracking202/"], :root [href^="https://dooloust.net/"], :root ADS-RIGHT, :root a[href*=".purple6401.com/"], :root #rhs_block > #mbEnd, :root a[href^="http://promos.bwin.com/"], :root AD-SLOT, :root [href^="https://mylead.global/stl/"] > img, :root a[href^="https://10dfkuvbdkfv.club/"], :root a[href^="http://www.affiliates1128.com/processing/"], :root a[href^="http://ffxitrack.com/"], :root a[data-redirect^="this.href='http://paid.outbrain.com/network/redir?"], :root #center_col > div[style="font-size:14px;margin-right:0;min-height:5px"] > div[style="font-size:14px;margin:0 4px;padding:1px 5px;background:#fff8e7"], :root .vid-present > .van_vid_carousel__padding, :root #center_col > #resultStats + #tads + #res + #tads, :root [href^="https://shrugartisticelder.com"], :root [href^="https://go.affiliatexe.com/"], :root [class*="auto-bottom-advertising-"], :root .trc_related_container div[data-item-syndicated="true"], :root .trc_rbox_div a[target="_blank"][href^="http://tab"], :root a[href^="https://www.sheetmusicplus.com/?aff_id="], :root a[href^="http://www.mobileandinternetadvertising.com/"], :root .trc_rbox_div .syndicatedItemUB, :root a[href^="https://transfer.xe.com/signup/track/redirect?"], :root .mw > #rcnt > #center_col > #taw > .c, :root [id*="MarketGid"], :root a[href^="http://ads.expekt.com/affiliates/"], :root a[href^="http://www.liversely.net/"], :root a[href^="http://websitedhoome.com/"], :root [href^="http://raboninco.com/"], :root #tadsb[aria-label], :root a[href^="http://www.downloadweb.org/"], :root a[href*=".approvallamp.club/"], :root iframe[src^="http://ad.yieldmanager.com/"], :root a[href^="http://www.fonts.com/BannerScript/"], :root a[href^="http://www.TwinPlan.com/AF_"], :root iframe[src^="https://tpc.googlesyndication.com/"], :root .rc-cta[data-target], :root div[id^="div_ad_stack_"], :root a[href^="http://allaptair.club/"], :root a[href^="https://adswick.com/"], :root .__ywvr .__y_item, :root LEADERBOARD-AD, :root a[href^="http://latestdownloads.net/download.php?"], :root a[href^="http://xads.zedo.com/"], :root div[id^="advads-"], :root .GJJKPX2N1 > .GJJKPX2M1 > .GJJKPX2P4, :root a[href^="http://refpa.top/"], :root a[href^="https://www.googleadservices.com/pagead/aclk?"], :root .mw > #rcnt > #center_col > #taw > #tvcap > .c, :root .Mpopup + #Mad > #MadZone, :root div[class^="local-feed-banner-ads"], :root .__yinit .__y_item, :root [class*="-slot_ad-placements-"], :root a[href^="https://gamescarousel.com/"], :root a[id^="ads_banner_"], :root [class^="div-gpt-ad"], :root .ra[align="left"][width="30%"], :root a[href^="http://clickandjoinyourgirl.com/"], :root a[href^="http://secure.hostgator.com/~affiliat/"], :root a[href^="http://9amq5z4y1y.com/"], :root a[href^="https://secure.eveonline.com/ft/?aid="], :root a[href^="https://www.nutaku.net/signup/landing/"], :root [href*=".go2page.net"], :root div[id^="ad_script_"], :root a[href^="https://fakelay.com/"], :root a[href^="http://www.bluehost.com/track/"] > img, :root [href*=".jetx.info/"], :root a[href*="//ezofferz.com/"], :root a[href^="http://axdsz.pro/"], :root a[href^="http://www.mrskin.com/tour"], :root a[href^="https://www.im88trk.com/"], :root a[href^="http://bcntrack.com/"], :root .gbfwa > div[class$="_item"], :root #mn div[style="position:relative"] > #center_col > div > ._dPg, :root .GKJYXHBF2 > .GKJYXHBE2 > .GKJYXHBH5, :root #resultspanel > #topads, :root [href^="https://go.astutelinks.com/"], :root a[href^="http://casino-x.com/?partner"], :root a[href^="http://googleads.g.doubleclick.net/pcs/click"], :root #rhs_block > script + .c._oc._Ve.rhsvw, :root div[id^="ad-server-"], :root a[href^="http://www.mysuperpharm.com/"], :root [href*=".xiloy.site/"], :root .commercial-unit-desktop-rhs > div[jscontroller="YD5eo"], :root a[href^="http://adultfriendfinder.com/p/register.cgi?pid="], :root .lads[width="100%"][style="background:#FFF8DD"], :root DFP-AD, :root a[href^="https://www.hotgirls4fuck.com/"], :root a[href^="https://freeadult.games/"], :root topadblock, :root a[href^="http://paid.outbrain.com/network/redir?"], :root a[data-obtrack^="http://paid.outbrain.com/network/redir?"], :root a[href^="https://click.plista.com/pets"], :root a[href^="http://www.firstload.com/affiliate/"], :root [href^="https://stvkr.com/"], :root #mn #center_col > div > h2.spon:first-child + ol:last-child, :root a[href*=".bang.com/"][href*="&aff="], :root a[href^="http://ucam.xxx/?utm_"], :root #taw > .med + div > #tvcap > .mnr-c:not(.qs-ic) > .commercial-unit-mobile-top { display: none !important; }
:root div[id^="acm-ad-tag-"], :root a[href^="http://tracking.deltamediallc.com/"], :root a[href^="https://www.bebi.com"], :root a[href^="http://at.atwola.com/"], :root #mn div[style="position:relative"] > #center_col > ._Ak, :root a[href^="http://campeeks.com/"][href*="&utm_"], :root #content > #right > .dose > .dosesingle, :root .section-result[data-result-ad-type], :root .l-container > #fishtank, :root #flowplayer > div[style="z-index: 208; position: absolute; width: 300px; height: 275px; left: 222.5px; top: 85px;"], :root [lazy-ad="top_banner"], :root a[href^="https://azpresearch.club/"], :root a[href^="http://igromir.info/"], :root a[href*=".mfroute.com/"], :root .__y_inner > .__y_item, :root a[href*=".adk2x.com/"], :root #main-content > [style="padding:10px 0 0 0 !important;"], :root a[href^="https://misspkl.com/"], :root a[href^="http://static.fleshlight.com/images/banners/"], :root .GHOFUQ5BG2 > .GHOFUQ5BF2 > .GHOFUQ5BG5, :root a[href^="http://affiliates.thrixxx.com/"], :root #rhs_block .mod > .luhb-div > div[data-async-type="updateHotelBookingModule"], :root a[href^="https://traffic.bannerator.com/"], :root a[href^="https://control.trafficfabrik.com/"], :root #main_col > #center_col div[style="font-size:14px;margin:0 4px;padding:1px 5px;background:#fff7ed"], :root [lazy-ad="lefttop_banner"], :root a[href^="https://intrev.co/"], :root [id*="ScriptRoot"], :root [href*=".doubleclick-net.com"], :root a[href^="http://vinfdv6b4j.com/"], :root a[href^="https://t.grtyi.com/"], :root a[href^="http://s5prou7ulr.com/"], :root a[href^="http://www.firstclass-download.com/"], :root div[id^="YFBMSN"], :root a[href^="http://install.securewebsiteaccess.com/"], :root #center_col > #resultStats + div + #res + #tads, :root a[href^="https://aff-ads.stickywilds.com/"], :root div[data-ad-underplayer], :root a[href^="http://www.easydownloadnow.com/"], :root a[href^="https://fast-redirecting.com/"], :root [href*="//trackmstr.com"], :root #\5f _admvnlb_modal_container, :root #\5f _nq__hh[style="display:block!important"], :root .plista_widget_belowArticleRelaunch_item[data-type="pet"], :root a[href^="https://dynamicadx.com/"], :root a[href^="https://fileboom.me/pr/"], :root #center_col > #\5f Emc { display: none !important; }</style><script charset="utf-8" src="./Baby636 _ flipstarter backend · GitLab_files/vendors-top_nav.bd86efdd.chunk.js.Download"></script><script charset="utf-8" src="./Baby636 _ flipstarter backend · GitLab_files/top_nav.5dfb6d52.chunk.js.Download"></script><script charset="utf-8" src="./Baby636 _ flipstarter backend · GitLab_files/prosemirror.cb2b7292.chunk.js.Download"></script><script charset="utf-8" src="./Baby636 _ flipstarter backend · GitLab_files/vendors-content_editor-gfm_copy_extra.05d28f09.chunk.js.Download"></script><script charset="utf-8" src="./Baby636 _ flipstarter backend · GitLab_files/vendors-gfm_copy_extra.b6ac491f.chunk.js.Download"></script><script charset="utf-8" src="./Baby636 _ flipstarter backend · GitLab_files/gfm_copy_extra.87773b49.chunk.js.Download"></script></head>

<body class="ui-indigo tab-width-8 gl-browser-opera gl-platform-windows page-initialised" data-find-file="/Flipstarter.cash/backend/-/find_file/master" data-group="Flipstarter.cash" data-namespace-id="13089851" data-page="projects:show" data-page-type-id="backend" data-project="backend" data-project-id="29011959">

<script nonce="">
//<![CDATA[
gl = window.gl || {};
gl.client = {"isOpera":true,"isWindows":true};


//]]>
</script>


<header class="navbar navbar-gitlab navbar-expand-sm js-navbar" data-qa-selector="navbar">
<a class="gl-sr-only gl-accessibility" href="https://gitlab.com/Flipstarter.cash/backend#content-body">Skip to content</a>
<div class="container-fluid">
<div class="header-content">
<div class="title-container hide-when-top-nav-responsive-open">
<h1 class="title">
<span class="gl-sr-only">GitLab</span>
<a title="Dashboard" id="logo" data-track-label="main_navigation" data-track-action="click_gitlab_logo_link" data-track-property="navigation" href="https://gitlab.com/"><svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36">
  <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"></path>
  <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"></path>
  <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"></path>
  <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"></path>
  <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"></path>
  <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"></path>
  <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"></path>
</svg>

<span class="logo-text d-none d-lg-block gl-ml-3">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 617 169"><path d="M315.26 2.97h-21.8l.1 162.5h88.3v-20.1h-66.5l-.1-142.4M465.89 136.95c-5.5 5.7-14.6 11.4-27 11.4-16.6 0-23.3-8.2-23.3-18.9 0-16.1 11.2-23.8 35-23.8 4.5 0 11.7.5 15.4 1.2v30.1h-.1m-22.6-98.5c-17.6 0-33.8 6.2-46.4 16.7l7.7 13.4c8.9-5.2 19.8-10.4 35.5-10.4 17.9 0 25.8 9.2 25.8 24.6v7.9c-3.5-.7-10.7-1.2-15.1-1.2-38.2 0-57.6 13.4-57.6 41.4 0 25.1 15.4 37.7 38.7 37.7 15.7 0 30.8-7.2 36-18.9l4 15.9h15.4v-83.2c-.1-26.3-11.5-43.9-44-43.9M557.63 149.1c-8.2 0-15.4-1-20.8-3.5V70.5c7.4-6.2 16.6-10.7 28.3-10.7 21.1 0 29.2 14.9 29.2 39 0 34.2-13.1 50.3-36.7 50.3m9.2-110.6c-19.5 0-30 13.3-30 13.3v-21l-.1-27.8h-21.3l.1 158.5c10.7 4.5 25.3 6.9 41.2 6.9 40.7 0 60.3-26 60.3-70.9-.1-35.5-18.2-59-50.2-59M77.9 20.6c19.3 0 31.8 6.4 39.9 12.9l9.4-16.3C114.5 6 97.3 0 78.9 0 32.5 0 0 28.3 0 85.4c0 59.8 35.1 83.1 75.2 83.1 20.1 0 37.2-4.7 48.4-9.4l-.5-63.9V75.1H63.6v20.1h38l.5 48.5c-5 2.5-13.6 4.5-25.3 4.5-32.2 0-53.8-20.3-53.8-63-.1-43.5 22.2-64.6 54.9-64.6M231.43 2.95h-21.3l.1 27.3v94.3c0 26.3 11.4 43.9 43.9 43.9 4.5 0 8.9-.4 13.1-1.2v-19.1c-3.1.5-6.4.7-9.9.7-17.9 0-25.8-9.2-25.8-24.6v-65h35.7v-17.8h-35.7l-.1-38.5M155.96 165.47h21.3v-124h-21.3v124M155.96 24.37h21.3V3.07h-21.3v21.3"></path></svg>

</span>
</a></h1>
<div class="gl-display-none gl-sm-display-block">
<ul class="nav navbar-sub-nav"><li class="nav-item b-nav-dropdown dropdown gl-new-dropdown" data-qa-selector="navbar_dropdown" data-qa-title="Menu" id="__BVID__144"><a role="button" aria-haspopup="true" aria-expanded="false" href="https://gitlab.com/Flipstarter.cash/backend#" target="_self" class="nav-link dropdown-toggle top-nav-toggle js-top-nav-dropdown-toggle gl-px-3! dropdown-toggle-no-caret" id="__BVID__144__BV_toggle_"><svg data-testid="hamburger-icon" role="img" aria-hidden="true" class="dropdown-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#hamburger"></use></svg>
      Menu
      <svg data-testid="chevron-down-icon" role="img" aria-hidden="true" class="dropdown-chevron gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg></a><ul tabindex="-1" class="dropdown-menu gl-mt-3! gl-max-w-none! gl-max-h-none! gl-sm-w-auto! js-top-nav-dropdown-menu" aria-labelledby="__BVID__144__BV_toggle_"><li role="presentation"><form tabindex="-1" class="b-dropdown-form gl-p-0"><div class="gl-display-flex gl-align-items-stretch"><div data-testid="menu-sidebar" class="gl-w-grid-size-30 gl-flex-shrink-0 gl-bg-gray-10 gl-p-3"><div class="gl-display-flex gl-align-items-stretch gl-flex-direction-column"><div data-testid="menu-section" class=""><button aria-label="Projects" data-track-label="projects_dropdown" data-track-event="click_dropdown" type="button" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary qa-projects-dropdown gl-shadow-none! gl-font-weight-bold! active" href="" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="project-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#project"></use></svg> 
      Projects
      <svg data-testid="chevron-right-icon" role="img" aria-hidden="true" class="gl-ml-auto gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-right"></use></svg></span></span></button><button aria-label="Groups" data-track-label="groups_dropdown" data-track-event="click_dropdown" type="button" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary qa-groups-dropdown gl-mt-1" href="" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="group-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#group"></use></svg> 
      Groups
      <svg data-testid="chevron-right-icon" role="img" aria-hidden="true" class="gl-ml-auto gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-right"></use></svg></span></span></button><a aria-label="Milestones" data-qa-selector="milestones_link" href="https://gitlab.com/dashboard/milestones" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="clock-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#clock"></use></svg> 
      Milestones
      <!----></span></span></a><a aria-label="Snippets" data-qa-selector="snippets_link" href="https://gitlab.com/dashboard/snippets" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="snippet-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#snippet"></use></svg> 
      Snippets
      <!----></span></span></a><a aria-label="Activity" data-qa-selector="activity_link" href="https://gitlab.com/dashboard/activity" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="history-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#history"></use></svg> 
      Activity
      <!----></span></span></a><a aria-label="Environments" data-qa-selector="environment_link" href="https://gitlab.com/-/operations/environments" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="environment-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#environment"></use></svg> 
      Environments
      <!----></span></span></a><a aria-label="Operations" data-qa-selector="operations_link" href="https://gitlab.com/-/operations" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="cloud-gear-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#cloud-gear"></use></svg> 
      Operations
      <!----></span></span></a><a aria-label="Security" data-qa-selector="security_link" href="https://gitlab.com/-/security/dashboard" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="shield-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#shield"></use></svg> 
      Security
      <!----></span></span></a></div></div></div> <div data-testid="menu-subview" data-qa-selector="menu_subview_container" class="gl-w-grid-size-40 gl-overflow-hidden gl-p-3"><div class="gl-h-full gl-w-full"><div class="top-nav-container-view gl-display-flex gl-flex-direction-column"><div data-testid="frequent-items-container" class="frequent-items-dropdown-container gl-w-auto"><div class="frequent-items-dropdown-content gl-w-full! gl-pt-0!"><div class="gl-display-flex gl-flex-direction-column gl-flex-align-items-stretch gl-h-full"><div class="search-input-container" data-testid="frequent-items-search-input"><div class="gl-search-box-by-type"><svg data-testid="search-icon" role="img" aria-hidden="true" class="gl-search-box-by-type-search-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#search"></use></svg> <input type="text" placeholder="Search your projects" class="gl-form-input gl-search-box-by-type-input form-control" aria-label="Search your projects" id="__BVID__191"> <div class="gl-search-box-by-type-right-icons"><!----> <!----></div></div></div> <!----> <div data-testid="header" class="section-header">
    Frequently visited
  </div> <div class="frequent-items-list-container"><ul class="list-unstyled"><li class="section-empty gl-mb-3">
      Projects you visit often will appear here
    </li></ul></div></div></div></div> <div class="gl-display-flex gl-align-items-stretch gl-flex-direction-column gl-mt-auto"><div data-testid="menu-section" class="gl-pt-3 gl-border-1 gl-border-t-solid gl-border-gray-50"><a aria-label="Your projects" data-qa-selector="menu_item_link" data-qa-title="Your projects" href="https://gitlab.com/dashboard/projects" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><!----> 
      Your projects
      <!----></span></span></a><a aria-label="Starred projects" data-qa-selector="menu_item_link" data-qa-title="Starred projects" href="https://gitlab.com/dashboard/projects/starred" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><!----> 
      Starred projects
      <!----></span></span></a><a aria-label="Explore projects" data-qa-selector="menu_item_link" data-qa-title="Explore projects" href="https://gitlab.com/explore" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><!----> 
      Explore projects
      <!----></span></span></a></div><div data-testid="menu-section" class="gl-pt-3 gl-border-1 gl-border-t-solid gl-border-gray-50 gl-mt-3"><a aria-label="Create new project" data-qa-selector="menu_item_link" data-qa-title="Create new project" href="https://gitlab.com/projects/new" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><!----> 
      Create new project
      <!----></span></span></a></div></div></div></div></div></div></form></li></ul></li></ul>
<div class="hidden">
<a class="dashboard-shortcuts-projects" href="https://gitlab.com/dashboard/projects">Projects
</a><a class="dashboard-shortcuts-groups" href="https://gitlab.com/dashboard/groups">Groups
</a><a class="dashboard-shortcuts-milestones" href="https://gitlab.com/dashboard/milestones">Milestones
</a><a class="dashboard-shortcuts-snippets" href="https://gitlab.com/dashboard/snippets">Snippets
</a><a class="dashboard-shortcuts-activity" href="https://gitlab.com/dashboard/activity">Activity
</a></div>

</div>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="header-new dropdown gl-display-none gl-sm-display-block" data-track-event="click_dropdown" data-track-label="new_dropdown">
<a class="header-new-dropdown-toggle has-tooltip" id="js-onboarding-new-project-link" title="New..." ref="tooltip" aria-label="New..." data-toggle="dropdown" data-placement="bottom" data-container="body" data-display="static" data-qa-selector="new_menu_toggle" href="https://gitlab.com/projects/new"><svg class="s16" data-testid="plus-square-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus-square"></use></svg>
<svg class="s16 caret-down" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</a><div class="dropdown-menu dropdown-menu-right dropdown-extended-height">
<ul>
<li class="dropdown-bold-header">
This project
</li>
<li><a data-track-event="click_link_new_issue" data-track-label="plus_menu_dropdown" data-qa-selector="new_issue_link" href="https://gitlab.com/Flipstarter.cash/backend/-/issues/new">New issue</a></li>
<li><a data-track-event="click_link_new_mr" data-track-label="plus_menu_dropdown" href="https://gitlab.com/Flipstarter.cash/backend/-/merge_requests/new">New merge request</a></li>
<li><a data-track-event="click_link" data-track-label="c1c56478-41a2-495f-9595-cc506a04729d" data-track-property="Growth::Expansion::Experiment::InviteMembersNewDropdown:experimental_group" href="https://gitlab.com/Flipstarter.cash/backend/-/project_members">Invite members <gl-emoji title="handshake" data-name="handshake" data-unicode-version="9.0" aria-hidden="true" class="gl-font-base gl-vertical-align-baseline">🤝</gl-emoji></a></li>
<li class="divider"></li>
<li class="dropdown-bold-header">
GitLab
</li>
<li><a data-track-event="click_link_new_project" data-track-label="plus_menu_dropdown" data-qa-selector="global_new_project_link" href="https://gitlab.com/projects/new">New project/repository</a></li>
<li><a data-track-event="click_link_new_group" data-track-label="plus_menu_dropdown" href="https://gitlab.com/groups/new">New group</a></li>
<li><a data-track-event="click_link_new_snippet_parent" data-track-label="plus_menu_dropdown" data-qa-selector="global_new_snippet_link" href="https://gitlab.com/-/snippets/new">New snippet</a></li>
</ul>
</div>
</li>

<li class="nav-item d-none d-lg-block m-auto">
<div class="search search-form" data-track-event="activate_form_input" data-track-label="navbar_search" data-track-value="">
<form class="form-inline form-control" action="https://gitlab.com/search" accept-charset="UTF-8" method="get"><div class="search-input-container">
<div class="search-input-wrap">
<div class="dropdown" data-url="/search/autocomplete">
<input type="search" name="search" id="search" placeholder="Search GitLab" class="search-input dropdown-menu-toggle no-outline js-search-dashboard-options" spellcheck="false" autocomplete="off" data-issues-path="/dashboard/issues" data-mr-path="/dashboard/merge_requests" data-qa-selector="search_term_field" aria-label="Search GitLab">
<button class="hidden js-dropdown-search-toggle" data-toggle="dropdown" type="button"></button>
<div class="dropdown-menu dropdown-select" data-testid="dashboard-search-options">
<div class="dropdown-content"><ul>
<li class="dropdown-menu-empty-item">
<a>
Loading...
</a>
</li>
</ul>
</div><div class="dropdown-loading"><div class="gl-spinner-container"><span class="gl-spinner gl-spinner-orange gl-spinner-md gl-mt-7" aria-label="Loading"></span></div></div>
</div>
<svg class="s16 search-icon" data-testid="search-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#search"></use></svg>
<svg class="s16 clear-icon js-clear-input" data-testid="close-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#close"></use></svg>
</div>
</div>
</div>
<input type="hidden" name="group_id" id="group_id" value="13089851" class="js-search-group-options" data-group-path="Flipstarter.cash" data-name="Baby636" data-issues-path="/groups/Flipstarter.cash/-/issues" data-mr-path="/groups/Flipstarter.cash/-/merge_requests">
<input type="hidden" name="project_id" id="search_project_id" value="29011959" class="js-search-project-options" data-project-path="backend" data-name="flipstarter backend" data-issues-path="/Flipstarter.cash/backend/-/issues" data-mr-path="/Flipstarter.cash/backend/-/merge_requests" data-issues-disabled="false">
<input type="hidden" name="scope" id="scope">
<input type="hidden" name="search_code" id="search_code" value="true">
<input type="hidden" name="snippets" id="snippets" value="false">
<input type="hidden" name="repository_ref" id="repository_ref" value="master">
<input type="hidden" name="nav_source" id="nav_source" value="navbar">
<div class="search-autocomplete-opts hide" data-autocomplete-path="/search/autocomplete" data-autocomplete-project-id="29011959" data-autocomplete-project-ref="master"></div>
</form></div>

</li>
<li class="nav-item d-none d-sm-inline-block d-lg-none">
<a title="Search" aria-label="Search" data-toggle="tooltip" data-placement="bottom" data-container="body" href="https://gitlab.com/search?project_id=29011959"><svg class="s16" data-testid="search-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#search"></use></svg>
</a></li>
<li class="user-counter"><a title="Issues" class="dashboard-shortcuts-issues" aria-label="Issues" data-qa-selector="issues_shortcut_button" data-toggle="tooltip" data-placement="bottom" data-track-label="main_navigation" data-track-event="click_issues_link" data-track-property="navigation" data-container="body" href="https://gitlab.com/dashboard/issues?assignee_username=krise6361"><svg class="s16" data-testid="issues-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#issues"></use></svg>
<span class="badge badge-pill issues-count green-badge hidden">
0
</span>
</a></li><li class="user-counter dropdown"><a class="dashboard-shortcuts-merge_requests" title="Merge requests" aria-label="Merge requests" data-qa-selector="merge_requests_shortcut_button" data-toggle="dropdown" data-placement="bottom" data-track-label="main_navigation" data-track-event="click_merge_link" data-track-property="navigation" data-container="body" href="https://gitlab.com/dashboard/merge_requests?assignee_username=krise6361"><svg class="s16" data-testid="git-merge-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#git-merge"></use></svg>
<span class="badge badge-pill merge-requests-count js-merge-requests-count hidden">
0
</span>
<svg class="s16 caret-down gl-mx-0!" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</a><div class="dropdown-menu dropdown-menu-right">
<ul>
<li class="dropdown-header">
Merge requests
</li>
<li>
<a class="gl-display-flex! gl-align-items-center" href="https://gitlab.com/dashboard/merge_requests?assignee_username=krise6361">Assigned to you
<span class="badge gl-badge badge-pill badge-muted merge-request-badge gl-ml-auto js-assigned-mr-count">
0
</span>
</a></li>
<li>
<a class="gl-display-flex! gl-align-items-center" href="https://gitlab.com/dashboard/merge_requests?reviewer_username=krise6361">Review requests for you
<span class="badge gl-badge badge-pill badge-muted merge-request-badge gl-ml-auto js-reviewer-mr-count">
0
</span>
</a></li>
</ul>
</div>
</li><li class="user-counter"><a title="To-Do List" aria-label="To-Do List" class="shortcuts-todos" data-qa-selector="todos_shortcut_button" data-toggle="tooltip" data-placement="bottom" data-track-label="main_navigation" data-track-event="click_to_do_link" data-track-property="navigation" data-container="body" href="https://gitlab.com/dashboard/todos"><svg class="s16" data-testid="todo-done-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#todo-done"></use></svg>
<span class="badge badge-pill todos-count js-todos-count hidden">
0
</span>
</a></li><li class="nav-item header-help dropdown d-none d-md-block with-notifications" data-track-action="click_question_mark_link" data-track-label="main_navigation" data-track-property="navigation">
<a class="header-help-dropdown-toggle" data-toggle="dropdown" href="https://gitlab.com/help"><span class="gl-sr-only">
Help
</span>
<svg class="s16" data-testid="question-o-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#question-o"></use></svg>
<span class="notification-dot rounded-circle gl-absolute"></span>
<svg class="s16 caret-down" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</a><div class="dropdown-menu dropdown-menu-right">
<ul>
<li>
<button class="gl-justify-content-space-between gl-align-items-center js-whats-new-trigger gl-display-flex!" type="button">
What's new
<span class="js-whats-new-notification-count gl-badge badge sm badge-dark badge-pill">
9
</span>
</button>
</li>

<li>
<a href="https://gitlab.com/help">Help</a>
</li>
<li>
<a href="https://about.gitlab.com/getting-help/">Support</a>
</li>
<li>
<a target="_blank" class="text-nowrap" rel="noopener noreferrer" data-track-event="click_forum" data-track-property="question_menu" href="https://forum.gitlab.com/">Community forum</a>

</li>
<li>
<button class="js-shortcuts-modal-trigger" type="button">
Keyboard shortcuts
<span aria-hidden="true" class="text-secondary float-right">?</span>
</button>
</li>
<li class="divider"></li>
<li>
<a href="https://about.gitlab.com/submit-feedback">Submit feedback</a>
</li>
<li>
<a target="_blank" class="text-nowrap" href="https://about.gitlab.com/contributing">Contribute to GitLab
</a>

</li>

<li>
<a href="https://next.gitlab.com/">Switch to GitLab Next</a>
</li>
</ul>

</div>
</li>
<li class="nav-item header-user js-nav-user-dropdown dropdown" data-qa-selector="user_menu" data-track-event="click_dropdown" data-track-label="profile_dropdown" data-track-value="">
<a class="header-user-dropdown-toggle" data-toggle="dropdown" href="https://gitlab.com/krise6361"><img width="23" height="23" class="header-user-avatar qa-user-avatar js-lazy-loaded qa-js-lazy-loaded" alt="KRISTOF kähler" src="./Baby636 _ flipstarter backend · GitLab_files/082e006edd6c7b6a1cf21613652a0ffa.png" loading="lazy">

<svg class="s16 caret-down" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</a><div class="dropdown-menu dropdown-menu-right">
<ul>
<li class="current-user">
<a class="gl-line-height-20!" data-user="krise6361" data-testid="user-profile-link" data-qa-selector="user_profile_link" href="https://gitlab.com/krise6361"><div class="gl-font-weight-bold">
KRISTOF kähler
</div>
@krise6361

</a></li>
<li class="divider"></li>
<li>
<button class="gl-button btn btn-link menu-item js-set-status-modal-trigger" type="button">
Set status
</button>
</li>
<li>
<a data-qa-selector="edit_profile_link" href="https://gitlab.com/-/profile">Edit profile</a>
</li>
<li>
<a href="https://gitlab.com/-/profile/preferences">Preferences</a>
</li>


<li class="divider d-md-none"></li>
<li class="d-md-none">
<a href="https://gitlab.com/help">Help</a>
</li>
<li class="d-md-none">
<a href="https://about.gitlab.com/getting-help/">Support</a>
</li>
<li class="d-md-none">
<a target="_blank" class="text-nowrap" rel="noopener noreferrer" data-track-event="click_forum" data-track-property="question_menu" href="https://forum.gitlab.com/">Community forum</a>

</li>
<li class="d-md-none">
<a href="https://about.gitlab.com/submit-feedback">Submit feedback</a>
</li>
<li class="d-md-none">
<a target="_blank" class="text-nowrap" href="https://about.gitlab.com/contributing">Contribute to GitLab
</a>

</li>

<li class="d-md-none">
<a href="https://next.gitlab.com/">Switch to GitLab Next</a>
</li>
<li class="divider"></li>
<li>
<a class="sign-out-link" data-qa-selector="sign_out_link" rel="nofollow" data-method="post" href="https://gitlab.com/users/sign_out">Sign out</a>
</li>
</ul>

</div>
</li>
</ul>
</div>
<button class="navbar-toggler d-block d-sm-none gl-border-none!" data-testid="top-nav-responsive-toggle" type="button">
<span class="sr-only">Toggle navigation</span>
<span class="more-icon gl-px-3 gl-font-sm gl-font-weight-bold">
<span class="gl-pr-2">Menu</span>
<svg class="s16" data-testid="hamburger-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#hamburger"></use></svg>
</span>
<svg class="s12 close-icon" data-testid="close-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#close"></use></svg>
</button>
</div>
</div>
</header>
<div data-version-digest="fca61c35cab065b1582a6759a0e4f3177773c76586c38bc33a4da61b3599bea7" id="whats-new-app"></div>
<div class="js-set-status-modal-wrapper" data-current-emoji="" data-current-message="" data-default-emoji="speech_balloon"></div>

<div class="layout-page hide-when-top-nav-responsive-open page-with-contextual-sidebar">
<aside aria-label="Project navigation" class="nav-sidebar" data-track-action="render" data-track-label="projects_side_navigation" data-track-property="projects_side_navigation">
<div class="nav-sidebar-inner-scroll">
<ul class="sidebar-top-level-items" data-qa-selector="project_sidebar">
<li data-track-label="scope_menu" class="context-header active"><a aria-label="flipstarter backend" class="shortcuts-project rspec-project-link" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Project scope" href="https://gitlab.com/Flipstarter.cash/backend"><span class="avatar-container rect-avatar s32 project_avatar">
<img alt="flipstarter backend" class="avatar avatar-tile s32 js-lazy-loaded qa-js-lazy-loaded" width="32" height="32" src="./Baby636 _ flipstarter backend · GitLab_files/logo.png" loading="lazy">
</span>
<span class="sidebar-context-title">
flipstarter backend
</span>
</a></li>
<li data-track-label="project_information_menu" class="home"><a aria-label="Project information" class="shortcuts-project-information has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Project information" href="https://gitlab.com/Flipstarter.cash/backend/activity"><span class="nav-icon-container">
<svg class="s16" data-testid="project-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#project"></use></svg>
</span>
<span class="nav-item-name">
Project information
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Project information
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="activity" class=""><a aria-label="Activity" class="shortcuts-project-activity" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Activity" href="https://gitlab.com/Flipstarter.cash/backend/activity"><span>
Activity
</span>
</a></li><li data-track-label="labels" class=""><a aria-label="Labels" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Labels" href="https://gitlab.com/Flipstarter.cash/backend/-/labels"><span>
Labels
</span>
</a></li><li data-track-label="members" class=""><a aria-label="Members" id="js-onboarding-members-link" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Members" href="https://gitlab.com/Flipstarter.cash/backend/-/project_members"><span>
Members
</span>
</a></li>
</ul>
</li><li data-track-label="repository_menu" class=""><a aria-label="Repository" class="shortcuts-tree has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Repository" href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master"><span class="nav-icon-container">
<svg class="s16" data-testid="doc-text-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#doc-text"></use></svg>
</span>
<span class="nav-item-name" id="js-onboarding-repo-link">
Repository
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Repository
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="files" class=""><a aria-label="Files" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Files" href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master"><span>
Files
</span>
</a></li><li data-track-label="commits" class=""><a aria-label="Commits" id="js-onboarding-commits-link" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Commits" href="https://gitlab.com/Flipstarter.cash/backend/-/commits/master"><span>
Commits
</span>
</a></li><li data-track-label="branches" class=""><a aria-label="Branches" id="js-onboarding-branches-link" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Branches" href="https://gitlab.com/Flipstarter.cash/backend/-/branches"><span>
Branches
</span>
</a></li><li data-track-label="tags" class=""><a aria-label="Tags" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Tags" href="https://gitlab.com/Flipstarter.cash/backend/-/tags"><span>
Tags
</span>
</a></li><li data-track-label="contributors" class=""><a aria-label="Contributors" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Contributors" href="https://gitlab.com/Flipstarter.cash/backend/-/graphs/master"><span>
Contributors
</span>
</a></li><li data-track-label="graphs" class=""><a aria-label="Graph" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Graph" href="https://gitlab.com/Flipstarter.cash/backend/-/network/master"><span>
Graph
</span>
</a></li><li data-track-label="compare" class=""><a aria-label="Compare" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Compare" href="https://gitlab.com/Flipstarter.cash/backend/-/compare?from=master&amp;to=master"><span>
Compare
</span>
</a></li><li data-track-label="file_locks" class=""><a aria-label="Locked Files" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Locked Files" href="https://gitlab.com/Flipstarter.cash/backend/path_locks"><span>
Locked Files
</span>
</a></li>
</ul>
</li><li data-track-label="issues_menu" class=""><a aria-label="Issues" class="shortcuts-issues has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Issues" href="https://gitlab.com/Flipstarter.cash/backend/-/issues"><span class="nav-icon-container">
<svg class="s16" data-testid="issues-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#issues"></use></svg>
</span>
<span class="nav-item-name" id="js-onboarding-issues-link">
Issues
</span>
<span class="badge badge-pill count issue_counter">
0
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Issues
</strong>
<span class="badge badge-pill count fly-out-badge issue_counter">
0
</span>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="issue_list" class=""><a aria-label="Issues" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="List" href="https://gitlab.com/Flipstarter.cash/backend/-/issues"><span>
List
</span>
</a></li><li data-track-label="boards" class=""><a aria-label="Boards" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Boards" href="https://gitlab.com/Flipstarter.cash/backend/-/boards"><span>
Boards
</span>
</a></li><li data-track-label="service_desk" class=""><a aria-label="Service Desk" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Service Desk" href="https://gitlab.com/Flipstarter.cash/backend/-/issues/service_desk"><span>
Service Desk
</span>
</a></li><li data-track-label="milestones" class=""><a aria-label="Milestones" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Milestones" href="https://gitlab.com/Flipstarter.cash/backend/-/milestones"><span>
Milestones
</span>
</a></li><li data-track-label="iterations" class=""><a aria-label="Iterations" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Iterations" href="https://gitlab.com/Flipstarter.cash/backend/-/iterations"><span>
Iterations
</span>
</a></li>
</ul>
</li><li data-track-label="merge_requests_menu" class=""><a aria-label="Merge requests" class="shortcuts-merge_requests" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Merge requests" href="https://gitlab.com/Flipstarter.cash/backend/-/merge_requests"><span class="nav-icon-container">
<svg class="s16" data-testid="git-merge-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#git-merge"></use></svg>
</span>
<span class="nav-item-name" id="js-onboarding-mr-link">
Merge requests
</span>
<span class="badge badge-pill count merge_counter js-merge-counter">
0
</span>
</a><ul class="sidebar-sub-level-items is-fly-out-only">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Merge requests
</strong>
<span class="badge badge-pill count fly-out-badge merge_counter js-merge-counter">
0
</span>
</span>
</li></ul>
</li><li data-track-label="requirements_menu" class=""><a aria-label="Requirements" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Requirements" href="https://gitlab.com/Flipstarter.cash/backend/-/requirements_management/requirements"><span class="nav-icon-container">
<svg class="s16" data-testid="requirements-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#requirements"></use></svg>
</span>
<span class="nav-item-name">
Requirements
</span>
</a><ul class="sidebar-sub-level-items is-fly-out-only">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Requirements
</strong>
</span>
</li></ul>
</li><li data-track-label="ci_cd_menu" class=""><a aria-label="CI/CD" class="shortcuts-pipelines rspec-link-pipelines has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="CI/CD" href="https://gitlab.com/Flipstarter.cash/backend/-/pipelines"><span class="nav-icon-container">
<svg class="s16" data-testid="rocket-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#rocket"></use></svg>
</span>
<span class="nav-item-name" id="js-onboarding-pipelines-link">
CI/CD
</span>
</a><ul class="sidebar-sub-level-items" style="">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
CI/CD
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="pipelines" class=""><a aria-label="Pipelines" class="shortcuts-pipelines" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Pipelines" href="https://gitlab.com/Flipstarter.cash/backend/-/pipelines"><span>
Pipelines
</span>
</a></li><li data-track-label="pipelines_editor" class=""><a aria-label="Editor" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Editor" href="https://gitlab.com/Flipstarter.cash/backend/-/ci/editor"><span>
Editor
</span>
</a></li><li data-track-label="jobs" class=""><a aria-label="Jobs" class="shortcuts-builds" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Jobs" href="https://gitlab.com/Flipstarter.cash/backend/-/jobs"><span>
Jobs
</span>
</a></li><li data-track-label="pipeline_schedules" class=""><a aria-label="Schedules" class="shortcuts-builds" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Schedules" href="https://gitlab.com/Flipstarter.cash/backend/-/pipeline_schedules"><span>
Schedules
</span>
</a></li><li data-track-label="test_cases" class=""><a aria-label="Test Cases" class="shortcuts-test-cases" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Test Cases" href="https://gitlab.com/Flipstarter.cash/backend/-/quality/test_cases"><span>
Test Cases
</span>
</a></li>
</ul>
</li><li data-track-label="security_compliance_menu" class=""><a aria-label="Security &amp; Compliance" class="has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Security &amp; Compliance" href="https://gitlab.com/Flipstarter.cash/backend/-/security/dashboard"><span class="nav-icon-container">
<svg class="s16" data-testid="shield-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#shield"></use></svg>
</span>
<span class="nav-item-name">
Security &amp; Compliance
</span>
</a><ul class="sidebar-sub-level-items" style="">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Security &amp; Compliance
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="dashboard" class=""><a aria-label="Security Dashboard" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Security Dashboard" href="https://gitlab.com/Flipstarter.cash/backend/-/security/dashboard"><span>
Security Dashboard
</span>
</a></li><li data-track-label="vulnerability_report" class=""><a aria-label="Vulnerability Report" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Vulnerability Report" href="https://gitlab.com/Flipstarter.cash/backend/-/security/vulnerability_report"><span>
Vulnerability Report
</span>
</a></li><li data-track-label="on_demand_scans" class=""><a aria-label="On-demand Scans" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="On-demand Scans" href="https://gitlab.com/Flipstarter.cash/backend/-/on_demand_scans/new"><span>
On-demand Scans
</span>
</a></li><li data-track-label="dependency_list" class=""><a aria-label="Dependency List" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Dependency List" href="https://gitlab.com/Flipstarter.cash/backend/-/dependencies"><span>
Dependency List
</span>
</a></li><li data-track-label="license_compliance" class=""><a aria-label="License Compliance" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="License Compliance" href="https://gitlab.com/Flipstarter.cash/backend/-/licenses"><span>
License Compliance
</span>
</a></li><li data-track-label="threat_monitoring" class=""><a aria-label="Threat Monitoring" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Threat Monitoring" href="https://gitlab.com/Flipstarter.cash/backend/-/threat_monitoring"><span>
Threat Monitoring
</span>
</a></li><li data-track-label="audit_events" class=""><a aria-label="Audit Events" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Audit Events" href="https://gitlab.com/Flipstarter.cash/backend/-/audit_events"><span>
Audit Events
</span>
</a></li><li data-track-label="configuration" class=""><a aria-label="Configuration" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Configuration" href="https://gitlab.com/Flipstarter.cash/backend/-/security/configuration"><span>
Configuration
</span>
</a></li>
</ul>
</li><li data-track-label="deployments_menu" class=""><a aria-label="Deployments" class="shortcuts-deployments has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Deployments" href="https://gitlab.com/Flipstarter.cash/backend/-/feature_flags"><span class="nav-icon-container">
<svg class="s16" data-testid="environment-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#environment"></use></svg>
</span>
<span class="nav-item-name">
Deployments
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Deployments
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="feature_flags" class=""><a aria-label="Feature Flags" class="shortcuts-feature-flags" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Feature Flags" href="https://gitlab.com/Flipstarter.cash/backend/-/feature_flags"><span>
Feature Flags
</span>
</a></li><li data-track-label="environments" class=""><a aria-label="Environments" class="shortcuts-environments" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Environments" href="https://gitlab.com/Flipstarter.cash/backend/-/environments"><span>
Environments
</span>
</a></li><li data-track-label="releases" class=""><a aria-label="Releases" class="shortcuts-deployments-releases" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Releases" href="https://gitlab.com/Flipstarter.cash/backend/-/releases"><span>
Releases
</span>
</a></li>
</ul>
</li><li data-track-label="monitor_menu" class=""><a aria-label="Monitor" class="shortcuts-monitor has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Monitor" href="https://gitlab.com/Flipstarter.cash/backend/-/metrics"><span class="nav-icon-container">
<svg class="s16" data-testid="monitor-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#monitor"></use></svg>
</span>
<span class="nav-item-name">
Monitor
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Monitor
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="metrics" class=""><a aria-label="Metrics" class="shortcuts-metrics" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Metrics" href="https://gitlab.com/Flipstarter.cash/backend/-/metrics"><span>
Metrics
</span>
</a></li><li data-track-label="logs" class=""><a aria-label="Logs" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Logs" href="https://gitlab.com/Flipstarter.cash/backend/-/logs"><span>
Logs
</span>
</a></li><li data-track-label="tracing" class=""><a aria-label="Tracing" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Tracing" href="https://gitlab.com/Flipstarter.cash/backend/-/tracing"><span>
Tracing
</span>
</a></li><li data-track-label="error_tracking" class=""><a aria-label="Error Tracking" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Error Tracking" href="https://gitlab.com/Flipstarter.cash/backend/-/error_tracking"><span>
Error Tracking
</span>
</a></li><li data-track-label="alert_management" class=""><a aria-label="Alerts" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Alerts" href="https://gitlab.com/Flipstarter.cash/backend/-/alert_management"><span>
Alerts
</span>
</a></li><li data-track-label="incidents" class=""><a aria-label="Incidents" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Incidents" href="https://gitlab.com/Flipstarter.cash/backend/-/incidents"><span>
Incidents
</span>
</a></li><li data-track-label="on_call_schedules" class=""><a aria-label="On-call Schedules" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="On-call Schedules" href="https://gitlab.com/Flipstarter.cash/backend/-/oncall_schedules"><span>
On-call Schedules
</span>
</a></li><li data-track-label="escalation_policies" class=""><a aria-label="Escalation Policies" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Escalation Policies" href="https://gitlab.com/Flipstarter.cash/backend/-/escalation_policies"><span>
Escalation Policies
</span>
</a></li>
</ul>
</li><li data-track-label="infrastructure_menu" class=""><a aria-label="Infrastructure" class="shortcuts-infrastructure has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Infrastructure" href="https://gitlab.com/Flipstarter.cash/backend/-/clusters"><span class="nav-icon-container">
<svg class="s16" data-testid="cloud-gear-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#cloud-gear"></use></svg>
</span>
<span class="nav-item-name">
Infrastructure
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Infrastructure
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="kubernetes" class=""><a aria-label="Kubernetes clusters" class="shortcuts-kubernetes" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Kubernetes clusters" href="https://gitlab.com/Flipstarter.cash/backend/-/clusters"><span>
Kubernetes clusters
</span>
</a></li><li data-track-label="serverless" class=""><a aria-label="Serverless platform" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Serverless platform" href="https://gitlab.com/Flipstarter.cash/backend/-/serverless/functions"><span>
Serverless platform
</span>
</a></li><li data-track-label="terraform" class=""><a aria-label="Terraform" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Terraform" href="https://gitlab.com/Flipstarter.cash/backend/-/terraform"><span>
Terraform
</span>
</a></li>
</ul>
</li><li data-track-label="packages_registries_menu" class=""><a aria-label="Packages &amp; Registries" class="has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Packages &amp; Registries" href="https://gitlab.com/Flipstarter.cash/backend/-/packages"><span class="nav-icon-container">
<svg class="s16" data-testid="package-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#package"></use></svg>
</span>
<span class="nav-item-name">
Packages &amp; Registries
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Packages &amp; Registries
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="packages_registry" class=""><a aria-label="Package Registry" class="shortcuts-container-registry" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Package Registry" href="https://gitlab.com/Flipstarter.cash/backend/-/packages"><span>
Package Registry
</span>
</a></li><li data-track-label="infrastructure_registry" class=""><a aria-label="Infrastructure Registry" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Infrastructure Registry" href="https://gitlab.com/Flipstarter.cash/backend/-/infrastructure_registry"><span>
Infrastructure Registry
</span>
</a></li>
</ul>
</li><li data-track-label="analytics_menu" class=""><a aria-label="Analytics" class="shortcuts-analytics has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Analytics" href="https://gitlab.com/Flipstarter.cash/backend/-/value_stream_analytics"><span class="nav-icon-container">
<svg class="s16" data-testid="chart-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chart"></use></svg>
</span>
<span class="nav-item-name">
Analytics
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Analytics
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="ci_cd_analytics" class=""><a aria-label="CI/CD" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="CI/CD" href="https://gitlab.com/Flipstarter.cash/backend/-/pipelines/charts"><span>
CI/CD
</span>
</a></li><li data-track-label="code_review" class=""><a aria-label="Code review" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Code review" href="https://gitlab.com/Flipstarter.cash/backend/-/analytics/code_reviews"><span>
Code review
</span>
</a></li><li data-track-label="insights" class=""><a aria-label="Insights" class="shortcuts-project-insights" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Insights" href="https://gitlab.com/Flipstarter.cash/backend/insights"><span>
Insights
</span>
</a></li><li data-track-label="issues" class=""><a aria-label="Issue" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Issue" href="https://gitlab.com/Flipstarter.cash/backend/-/analytics/issues_analytics"><span>
Issue
</span>
</a></li><li data-track-label="merge_requests" class=""><a aria-label="Merge request" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Merge request" href="https://gitlab.com/Flipstarter.cash/backend/-/analytics/merge_request_analytics"><span>
Merge request
</span>
</a></li><li data-track-label="repository_analytics" class=""><a aria-label="Repository" class="shortcuts-repository-charts" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Repository" href="https://gitlab.com/Flipstarter.cash/backend/-/graphs/master/charts"><span>
Repository
</span>
</a></li><li data-track-label="cycle_analytics" class=""><a aria-label="Value stream" class="shortcuts-project-cycle-analytics" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Value stream" href="https://gitlab.com/Flipstarter.cash/backend/-/value_stream_analytics"><span>
Value stream
</span>
</a></li>
</ul>
</li><li data-track-label="settings_menu" class=""><a aria-label="Settings" class="has-sub-items" data-qa-selector="sidebar_menu_link" data-qa-menu-item="Settings" href="https://gitlab.com/Flipstarter.cash/backend/edit"><span class="nav-icon-container">
<svg class="s16" data-testid="settings-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#settings"></use></svg>
</span>
<span class="nav-item-name" id="js-onboarding-settings-link">
Settings
</span>
</a><ul class="sidebar-sub-level-items">
<li class="fly-out-top-item"><span class="fly-out-top-item-container">
<strong class="fly-out-top-item-name">
Settings
</strong>
</span>
</li><li class="divider fly-out-top-item"></li>
<li data-track-label="general" class=""><a aria-label="General" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="General" href="https://gitlab.com/Flipstarter.cash/backend/edit"><span>
General
</span>
</a></li><li data-track-label="integrations" class=""><a aria-label="Integrations" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Integrations" href="https://gitlab.com/Flipstarter.cash/backend/-/settings/integrations"><span>
Integrations
</span>
</a></li><li data-track-label="webhooks" class=""><a aria-label="Webhooks" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Webhooks" href="https://gitlab.com/Flipstarter.cash/backend/-/hooks"><span>
Webhooks
</span>
</a></li><li data-track-label="repository" class=""><a aria-label="Repository" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Repository" href="https://gitlab.com/Flipstarter.cash/backend/-/settings/repository"><span>
Repository
</span>
</a></li><li data-track-label="ci_cd" class=""><a aria-label="CI/CD" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="CI/CD" href="https://gitlab.com/Flipstarter.cash/backend/-/settings/ci_cd"><span>
CI/CD
</span>
</a></li><li data-track-label="monitor" class=""><a aria-label="Monitor" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Monitor" href="https://gitlab.com/Flipstarter.cash/backend/-/settings/operations"><span>
Monitor
</span>
</a></li><li data-track-label="pages" class=""><a aria-label="Pages" data-qa-selector="sidebar_menu_item_link" data-qa-menu-item="Pages" href="https://gitlab.com/Flipstarter.cash/backend/pages"><span>
Pages
</span>
</a></li>
</ul>
</li>
<li class="hidden">
<a aria-label="Activity" class="shortcuts-project-activity" href="https://gitlab.com/Flipstarter.cash/backend/activity">Activity
</a></li>
<li class="hidden">
<a aria-label="Graph" class="shortcuts-network" href="https://gitlab.com/Flipstarter.cash/backend/-/network/master">Graph
</a></li>
<li class="hidden">
<a aria-label="Create a new issue" class="shortcuts-new-issue" href="https://gitlab.com/Flipstarter.cash/backend/-/issues/new">Create a new issue
</a></li>
<li class="hidden">
<a aria-label="Jobs" class="shortcuts-builds" href="https://gitlab.com/Flipstarter.cash/backend/-/jobs">Jobs
</a></li>
<li class="hidden">
<a aria-label="Commits" class="shortcuts-commits" href="https://gitlab.com/Flipstarter.cash/backend/-/commits/master">Commits
</a></li>
<li class="hidden">
<a aria-label="Issue Boards" class="shortcuts-issue-boards" href="https://gitlab.com/Flipstarter.cash/backend/-/boards">Issue Boards
</a></li>

</ul>
<a class="toggle-sidebar-button js-toggle-sidebar qa-toggle-sidebar rspec-toggle-sidebar" role="button" title="Toggle sidebar" type="button">
<svg class="s16 icon-chevron-double-lg-left" data-testid="chevron-double-lg-left-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-double-lg-left"></use></svg>
<span class="collapse-text gl-ml-3">Collapse sidebar</span>
</a>
<button name="button" type="button" class="close-nav-button"><svg class="s16" data-testid="close-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#close"></use></svg>
<span class="collapse-text gl-ml-3">Close sidebar</span>
</button>
</div>
</aside>


<div class="content-wrapper content-wrapper-margin">
<div class="mobile-overlay"></div>

<div class="alert-wrapper gl-force-block-formatting-context">























<nav aria-label="Breadcrumbs" class="breadcrumbs container-fluid container-limited container-limited limit-container-width">
<div class="breadcrumbs-container">
<button name="button" type="button" class="toggle-mobile-nav"><span class="sr-only">Open sidebar</span>
<svg class="s18" data-testid="hamburger-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#hamburger"></use></svg>
</button><div class="breadcrumbs-links" data-qa-selector="breadcrumb_links_content" data-testid="breadcrumb-links">
<ul class="list-unstyled breadcrumbs-list js-breadcrumbs-list">
<li><a class="group-path breadcrumb-item-text js-breadcrumb-item-text " href="https://gitlab.com/Flipstarter.cash">Baby636</a><svg class="s8 breadcrumbs-list-angle" data-testid="angle-right-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#angle-right"></use></svg></li> <li><a href="https://gitlab.com/Flipstarter.cash/backend"><img alt="flipstarter backend" class="avatar-tile js-lazy-loaded qa-js-lazy-loaded" width="15" height="15" src="./Baby636 _ flipstarter backend · GitLab_files/logo(1).png" loading="lazy"><span class="breadcrumb-item-text js-breadcrumb-item-text">flipstarter backend</span></a><svg class="s8 breadcrumbs-list-angle" data-testid="angle-right-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#angle-right"></use></svg></li>

</ul>
</div>
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Baby636","item":"https://gitlab.com/Flipstarter.cash"},{"@type":"ListItem","position":2,"name":"flipstarter backend","item":"https://gitlab.com/Flipstarter.cash/backend"}]}

</script>

</div>
</nav>

</div>
<div class="container-fluid container-limited container-limited limit-container-width">
<main class="content" id="content-body" itemscope="" itemtype="http://schema.org/SoftwareSourceCode">
<div class="flash-container flash-container-page sticky" data-qa-selector="flash_container">
</div>




<div class="project-home-panel js-show-on-project-root gl-my-5">
<div class="gl-display-flex gl-justify-content-space-between gl-flex-wrap gl-sm-flex-direction-column gl-mb-3">
<div class="home-panel-title-row gl-display-flex">
<div class="avatar-container rect-avatar s64 home-panel-avatar gl-flex-shrink-0 gl-w-11 gl-h-11 gl-mr-3! float-none">
<img alt="flipstarter backend" class="avatar avatar-tile s64 js-lazy-loaded qa-js-lazy-loaded" width="64" height="64" itemprop="image" src="./Baby636 _ flipstarter backend · GitLab_files/logo(2).png" loading="lazy">
</div>
<div class="d-flex flex-column flex-wrap align-items-baseline">
<div class="d-inline-flex align-items-baseline">
<h1 class="home-panel-title gl-mt-3 gl-mb-2 gl-font-size-h1 gl-line-height-24 gl-font-weight-bold gl-ml-3" data-qa-selector="project_name_content" itemprop="name">
flipstarter backend
<span class="visibility-icon text-secondary gl-ml-2 has-tooltip" data-container="body" title="Public - The project can be accessed without any authentication.">
<svg class="s16 icon" data-testid="earth-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#earth"></use></svg>
</span>

</h1>
</div>
<div class="home-panel-metadata d-flex flex-wrap text-secondary gl-font-base gl-font-weight-normal gl-line-height-normal">
<button class="btn btn gl-button btn-sm btn-tertiary btn-default-tertiary home-panel-metadata" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy project ID" data-hide-button-icon="true" data-button-text="Project ID: 29011959" data-class="btn gl-button btn-sm btn-tertiary btn-default-tertiary home-panel-metadata" data-qa-selector="project_id_content" data-itemprop="identifier" data-clipboard-text="29011959" type="button" title="Copy project ID" aria-label="Copy project ID" itemprop="identifier"><span class="gl-button-text">Project ID: 29011959</span></button>
<span class="access-request-links gl-ml-3">

</span>
<div class="gl-mt-3 gl-pl-3 gl-w-full">

</div>
</div>
</div>
</div>
<div class="project-repo-buttons gl-display-flex gl-justify-content-md-end gl-align-items-start gl-flex-wrap gl-mt-5">
<div class="gl-display-flex gl-align-items-start gl-mr-3">
<div><div class="dropdown b-dropdown gl-new-dropdown btn-group" data-testid="notification-dropdown" id="__BVID__51"><!----><button aria-haspopup="true" aria-expanded="false" type="button" class="btn dropdown-toggle btn-default btn-sm gl-button gl-dropdown-toggle dropdown-icon-only" id="__BVID__51__BV_toggle_"><!----> <svg data-testid="notifications-icon" role="img" aria-hidden="true" class="dropdown-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#notifications"></use></svg> <span class="gl-new-dropdown-button-text"></span> <svg data-testid="chevron-down-icon" role="img" aria-hidden="true" class="gl-button-icon dropdown-chevron gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg></button><ul role="menu" tabindex="-1" class="dropdown-menu" aria-labelledby="__BVID__51__BV_toggle_"><div class="gl-new-dropdown-inner"><!----> <div class="gl-new-dropdown-contents"><li role="presentation" class="gl-new-dropdown-item is-active"><button data-testid="notification-item" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><div class="gl-display-flex gl-flex-direction-column"><span class="gl-font-weight-bold">Global</span> <span class="gl-text-gray-500">Use your global notification setting</span></div></p> <!----></div> <!----></button></li><li role="presentation" class="gl-new-dropdown-item"><button data-testid="notification-item" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><div class="gl-display-flex gl-flex-direction-column"><span class="gl-font-weight-bold">Watch</span> <span class="gl-text-gray-500">You will receive notifications for any activity</span></div></p> <!----></div> <!----></button></li><li role="presentation" class="gl-new-dropdown-item"><button data-testid="notification-item" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><div class="gl-display-flex gl-flex-direction-column"><span class="gl-font-weight-bold">Participate</span> <span class="gl-text-gray-500">You will only receive notifications for threads you have participated in</span></div></p> <!----></div> <!----></button></li><li role="presentation" class="gl-new-dropdown-item"><button data-testid="notification-item" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><div class="gl-display-flex gl-flex-direction-column"><span class="gl-font-weight-bold">On mention</span> <span class="gl-text-gray-500">You will receive notifications only for comments in which you were @mentioned</span></div></p> <!----></div> <!----></button></li><li role="presentation" class="gl-new-dropdown-item"><button data-testid="notification-item" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><div class="gl-display-flex gl-flex-direction-column"><span class="gl-font-weight-bold">Disabled</span> <span class="gl-text-gray-500">You will not get any notifications via email</span></div></p> <!----></div> <!----></button></li> <li role="presentation" class="gl-new-dropdown-divider"><hr role="separator" aria-orientation="horizontal" class="dropdown-divider"></li> <li role="presentation" class="gl-new-dropdown-item"><button data-testid="notification-item" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><div class="gl-display-flex gl-flex-direction-column"><span class="gl-font-weight-bold">Custom</span> <span class="gl-text-gray-500">You will only receive notifications for the events you choose</span></div></p> <!----></div> <!----></button></li></div> <!----></div></ul></div> <!----></div>
</div>
<div class="count-buttons gl-display-flex gl-align-items-flex-start">
<div class="count-badge d-inline-flex align-item-stretch gl-mr-3 btn-group">
<button class="gl-button btn btn-default btn-sm star-btn toggle-star" data-endpoint="/Flipstarter.cash/backend/toggle_star.json" type="button">
<svg class="s16 icon" data-testid="star-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#star"></use></svg>
<span class="starred">Unstar</span>
</button>
<a title="Starrer" class="gl-button btn btn-default btn-sm star-count count" href="https://gitlab.com/Flipstarter.cash/backend/-/starrers">1
</a></div>

<div class="count-badge btn-group">
<span class="btn-group has-tooltip" title="">
<a class="gl-button btn btn-default btn-sm fork-btn " href="https://gitlab.com/Flipstarter.cash/backend/-/forks/new"><svg class="s16 icon" data-testid="fork-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#fork"></use></svg>
<span>Fork</span>
</a></span>
<a title="Forks" class="gl-button btn btn-default btn-sm count has-tooltip" href="https://gitlab.com/Flipstarter.cash/backend/-/forks">0
</a></div>

</div>
</div>
</div>
<nav class="project-stats">
<div class="nav-links quick-links">
<ul class="nav">
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center stat-link" href="https://gitlab.com/Flipstarter.cash/backend/-/commits/master"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="commit-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#commit"></use></svg><strong class="project-stat-value">125</strong> Commits</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center stat-link" href="https://gitlab.com/Flipstarter.cash/backend/-/branches"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="branch-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#branch"></use></svg><strong class="project-stat-value">2</strong> Branches</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center stat-link" href="https://gitlab.com/Flipstarter.cash/backend/-/tags"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="label-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#label"></use></svg><strong class="project-stat-value">0</strong> Tags</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center stat-link" href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="doc-code-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#doc-code"></use></svg><strong class="project-stat-value">42 MB</strong> Files</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center stat-link" href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="disk-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#disk"></use></svg><strong class="project-stat-value">42.1 MB</strong> Storage</a></li>
</ul>

</div>
</nav>
<div class="home-panel-home-desc mt-1">
<div class="home-panel-description text-break">
<div class="home-panel-description-markdown read-more-container" itemprop="description">
<p data-sourcepos="1:1-1:72" dir="auto">NodeJS based backend to handle flipstarter assurance contract campaigns.</p>
</div>
<button class="btn gl-button btn-blank btn-link js-read-more-trigger d-lg-none" type="button">
Read more
</button>
</div>
<p>
Forked from
<a data-qa-selector="forked_from_link" href="https://gitlab.com/flipstarter/backend">flipstarter / flipstarter backend</a>
</p>

</div>
</div>

<div class="progress repository-languages-bar js-show-on-project-root"><div class="progress-bar has-tooltip" style="width: 73.76%; background-color:#f1e05a" data-html="true" title="&lt;span class=&quot;repository-language-bar-tooltip-language&quot;&gt;JavaScript&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;repository-language-bar-tooltip-share&quot;&gt;73.8%&lt;/span&gt;"></div><div class="progress-bar has-tooltip" style="width: 18.11%; background-color:#e34c26" data-html="true" title="&lt;span class=&quot;repository-language-bar-tooltip-language&quot;&gt;HTML&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;repository-language-bar-tooltip-share&quot;&gt;18.1%&lt;/span&gt;"></div><div class="progress-bar has-tooltip" style="width: 8.0%; background-color:#563d7c" data-html="true" title="&lt;span class=&quot;repository-language-bar-tooltip-language&quot;&gt;CSS&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;repository-language-bar-tooltip-share&quot;&gt;8.0%&lt;/span&gt;"></div><div class="progress-bar has-tooltip" style="width: 0.09%; background-color:#384d54" data-html="true" title="&lt;span class=&quot;repository-language-bar-tooltip-language&quot;&gt;Dockerfile&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;repository-language-bar-tooltip-share&quot;&gt;0.1%&lt;/span&gt;"></div><div class="progress-bar has-tooltip" style="width: 0.03%; background-color:#89e051" data-html="true" title="&lt;span class=&quot;repository-language-bar-tooltip-language&quot;&gt;Shell&lt;/span&gt;&amp;nbsp;&lt;span class=&quot;repository-language-bar-tooltip-share&quot;&gt;0.0%&lt;/span&gt;"></div></div>



<div class="gl-card gl-px-8 gl-py-6 gl-line-height-20 gl-my-5"><!----> <div class="gl-card-body gl-display-flex gl-p-0!"><!----> <div class="gl-banner-content"><h1 class="gl-banner-title">Catch your security vulnerabilities ahead of time!</h1> <p>
    GitLab can scan your code for security vulnerabilities. Static Application Security Testing (SAST) helps you worry less and build more.
  </p> <a data-testid="gl-banner-primary-button" href="https://gitlab.com/help/user/application_security/sast/index" class="btn btn-confirm btn-md gl-button"><!----> <!---->  <span class="gl-button-text">Learn more.</span></a> </div> <button aria-label="Close banner" type="button" class="btn gl-banner-close btn-default btn-sm gl-button btn-default-tertiary btn-icon"><!----> <svg data-testid="close-icon" role="img" aria-hidden="true" class="gl-button-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#close"></use></svg>  <!----></button></div> <!----></div>

<div class="project-show-files">
<div class="tree-holder clearfix" id="tree-holder">
<div class="nav-block gl-display-flex gl-xs-flex-direction-column gl-align-items-stretch">
<div class="tree-ref-container gl-display-flex mb-2 mb-md-0">
<div class="tree-ref-holder">
<form class="project-refs-form" action="https://gitlab.com/Flipstarter.cash/backend/-/refs/switch" accept-charset="UTF-8" method="get"><input type="hidden" name="destination" id="destination" value="tree">
<input type="hidden" name="path" id="path" value="">
<div class="dropdown">
<button class="dropdown-menu-toggle js-project-refs-dropdown qa-branches-select" type="button" data-toggle="dropdown" data-selected="master" data-ref="master" data-refs-url="/Flipstarter.cash/backend/refs?sort=updated_desc" data-field-name="ref" data-submit-form-on-click="true" data-visit="true"><span class="dropdown-toggle-text ">master</span><svg class="s16 dropdown-menu-toggle-icon gl-top-3" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg></button>
<div class="dropdown-menu dropdown-menu-selectable git-revision-dropdown dropdown-menu-paging qa-branches-dropdown">
<div class="dropdown-page-one">
<div class="dropdown-title gl-display-flex"><span class="gl-ml-auto">Switch branch/tag</span><button class="dropdown-title-button dropdown-menu-close gl-ml-auto" aria-label="Close" type="button"><svg class="s16 dropdown-menu-close-icon" data-testid="close-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#close"></use></svg></button></div>
<div class="dropdown-input"><input type="search" data-qa-selector="dropdown_input_field" class="dropdown-input-field" placeholder="Search branches and tags" autocomplete="off"><svg class="s16 dropdown-input-search" data-testid="search-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#search"></use></svg><svg class="s16 dropdown-input-clear js-dropdown-input-clear" data-testid="close-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#close"></use></svg></div>
<div class="dropdown-content"></div>
<div class="dropdown-loading"><div class="gl-spinner-container"><span class="gl-spinner gl-spinner-orange gl-spinner-md gl-mt-7" aria-label="Loading"></span></div></div>
</div>
</div>
</div>
</form>
</div>
<nav aria-label="Files breadcrumb"><ol class="breadcrumb repo-breadcrumb"><li class="breadcrumb-item"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/" class="">
        backend
      </a></li> <li class="breadcrumb-item"><div class="dropdown b-dropdown gl-new-dropdown btn-group" id="__BVID__9"><!----><button aria-haspopup="true" aria-expanded="false" type="button" class="btn dropdown-toggle btn-default btn-md add-to-tree qa-add-to-tree gl-ml-2 gl-button gl-dropdown-toggle" id="__BVID__9__BV_toggle_"><span class="sr-only">Add to tree</span> <svg data-testid="plus-icon" role="img" aria-hidden="true" class="float-left gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus"></use></svg> <svg data-testid="chevron-down-icon" role="img" aria-hidden="true" class="float-left gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg></button><ul role="menu" tabindex="-1" class="dropdown-menu" aria-labelledby="__BVID__9__BV_toggle_"><div class="gl-new-dropdown-inner"><!----> <div class="gl-new-dropdown-contents"> <li role="presentation" class="gl-new-dropdown-section-header" tabindex="0"><header role="heading" class="dropdown-header">
            This directory
          </header></li><li role="presentation" class="gl-new-dropdown-item qa-new-file-option" tabindex="0"><a role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend/-/new/master/" target="_self" class="dropdown-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
            New file
          </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item" tabindex="0"><a role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend#modal-upload-blob" target="_self" class="dropdown-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
            Upload file
          </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item" tabindex="0"><a data-target="#modal-create-new-dir" data-toggle="modal" role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend#modal-create-new-dir" target="_self" class="dropdown-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
            New directory
          </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-divider" tabindex="0"><hr role="separator" aria-orientation="horizontal" class="dropdown-divider"></li><li role="presentation" class="gl-new-dropdown-section-header" tabindex="0"><header role="heading" class="dropdown-header">
            This repository
          </header></li><li role="presentation" class="gl-new-dropdown-item" tabindex="0"><a role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend/-/branches/new" target="_self" class="dropdown-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
            New branch
          </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item" tabindex="0"><a role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend/-/tags/new" target="_self" class="dropdown-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
            New tag
          </p> <!----></div> <!----></a></li></div> <!----></div></ul></div></li></ol> <form class=""><!----></form></nav>
</div>
<div class="tree-controls">
<div class="d-block d-sm-flex flex-wrap align-items-start gl-children-ml-sm-3"><a class="btn btn-default path-lock js-path-lock js-hide-on-root hidden gl-button has-tooltip" data-state="lock" data-toggle="tooltip" title="" data-qa-selector="lock_button" href="https://gitlab.com/Flipstarter.cash/backend#">Lock</a>
<a href="https://gitlab.com/Flipstarter.cash/backend/-/commits/master/" class="btn btn-default btn-md gl-button ml-sm-0"><!----> <!---->  <span class="gl-button-text">History</span></a>
<a class="gl-button btn btn-default shortcuts-find-file" rel="nofollow" href="https://gitlab.com/Flipstarter.cash/backend/-/find_file/master">Find file
</a><div class="gl-sm-ml-3"><div class="dropdown b-dropdown gl-new-dropdown btn-group" split-href="/-/ide/project/Flipstarter.cash/backend/edit/master/-/" id="__BVID__29"><a href="https://gitlab.com/-/ide/project/Flipstarter.cash/backend/edit/master/-/" target="_self" class="btn btn-default btn-md gl-button split-content-button btn-default-secondary" id="__BVID__29__BV_button_"><span data-qa-selector="web_ide_button" data-track-action="click_consolidated_edit_ide" data-track-label="web_ide" class="gl-new-dropdown-button-text">
      Web IDE
    </span></a><button aria-haspopup="true" aria-expanded="false" type="button" class="btn dropdown-toggle btn-default btn-md gl-button gl-dropdown-toggle btn-default-secondary dropdown-toggle-split" id="__BVID__29__BV_toggle_"><span class="sr-only">Toggle Dropdown</span></button><ul role="menu" tabindex="-1" class="dropdown-menu" aria-labelledby="__BVID__29__BV_button_"><div class="gl-new-dropdown-inner"><!----> <div class="gl-new-dropdown-contents"> <li role="presentation" class="gl-new-dropdown-item"><button data-testid="action_webide" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><span class="gl-font-weight-bold">Web IDE</span></p> <p class="gl-new-dropdown-item-text-secondary">Quickly and easily edit multiple files in your project.</p></div> <!----></button></li> <li role="presentation" class="gl-new-dropdown-divider"><hr role="separator" aria-orientation="horizontal" class="dropdown-divider"></li><li role="presentation" class="gl-new-dropdown-item"><button data-testid="action_gitpod" role="menuitem" type="button" class="dropdown-item"><svg data-testid="dropdown-item-checkbox" role="img" aria-hidden="true" class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#mobile-issue-close"></use></svg> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary"><span class="gl-font-weight-bold">Gitpod</span></p> <p class="gl-new-dropdown-item-text-secondary">Launch a ready-to-code development environment for your project.</p></div> <!----></button></li> <!----></div> <!----></div></ul></div> <!----></div>
<div class="modal" data-qa-selector="confirm_fork_modal" id="modal-confirm-fork-webide">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3 class="page-title">Fork project?</h3>
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body p-3">
<p>You can’t edit files directly in this project. Fork this project and submit a merge request with your changes.</p>
</div>
<div class="modal-footer">
<a class="btn gl-button btn-default" data-dismiss="modal" href="https://gitlab.com/Flipstarter.cash/backend#">Cancel</a>
<a class="btn gl-button btn-confirm" data-qa-selector="fork_project_button" rel="nofollow" data-method="post" href="https://gitlab.com/Flipstarter.cash/backend/-/forks?continue%5Bnotice%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+has+been+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&amp;continue%5Bnotice_now%5D=You%27re+not+allowed+to+make+changes+to+this+project+directly.+A+fork+of+this+project+is+being+created+that+you+can+make+changes+in%2C+so+you+can+submit+a+merge+request.&amp;continue%5Bto%5D=%2F-%2Fide%2Fproject%2FFlipstarter.cash%2Fbackend%2Fedit%2Fmaster&amp;namespace_key=12880202">Fork project</a>
</div>
</div>
</div>
</div>

<div class="modal qa-enable-gitpod-modal" id="modal-enable-gitpod">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h3 class="page-title">Enable Gitpod?</h3>
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body p-3">
<p>To use Gitpod you must first enable the feature in the integrations section of your <a href="https://gitlab.com/-/profile/preferences#gitpod">user preferences</a>.</p>
</div>
<div class="modal-footer">
<a class="gl-button btn btn-default btn-cancel" data-dismiss="modal" href="https://gitlab.com/Flipstarter.cash/backend#">Cancel</a>
<a class="gl-button btn btn-confirm" rel="nofollow" data-method="put" href="https://gitlab.com/-/profile?user%5Bgitpod_enabled%5D=true">Enable Gitpod</a>
</div>
</div>
</div>
</div>

<div class="project-action-button dropdown gl-new-dropdown inline">
<button aria-label="Download" class="gl-button btn btn-default dropdown-toggle gl-dropdown-toggle dropdown-icon-only has-tooltip" data-qa-selector="download_source_code_button" data-display="static" data-toggle="dropdown" title="Download" aria-expanded="false">
<svg class="s16 gl-icon dropdown-icon" data-testid="download-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#download"></use></svg>
<span class="sr-only">Select Archive Format</span>
<svg class="s16 gl-icon dropdown-chevron" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</button>
<div class="dropdown-menu dropdown-menu-right" role="menu">
<section>
<h5 class="m-0 dropdown-bold-header">Download source code</h5>
<div class="dropdown-menu-content">
<div class="btn-group ml-0 w-100">
<a rel="nofollow" download="" class="gl-button btn btn-sm btn-confirm" href="https://gitlab.com/Flipstarter.cash/backend/-/archive/master/backend-master.zip">zip</a>
<a rel="nofollow" download="" class="gl-button btn btn-sm btn-default" href="https://gitlab.com/Flipstarter.cash/backend/-/archive/master/backend-master.tar.gz">tar.gz</a>
<a rel="nofollow" download="" class="gl-button btn btn-sm btn-default" href="https://gitlab.com/Flipstarter.cash/backend/-/archive/master/backend-master.tar.bz2">tar.bz2</a>
<a rel="nofollow" download="" class="gl-button btn btn-sm btn-default" href="https://gitlab.com/Flipstarter.cash/backend/-/archive/master/backend-master.tar">tar</a>
</div>

</div>
</section>
<!---->
</div>
</div><div class="project-clone-holder d-none d-md-inline-block">
<div class="git-clone-holder js-git-clone-holder">
<a class="gl-button btn btn-confirm clone-dropdown-btn qa-clone-dropdown" data-toggle="dropdown" href="https://gitlab.com/Flipstarter.cash/backend#" id="clone-dropdown">
<span class="gl-mr-2 js-clone-dropdown-label">
Clone
</span>
<svg class="s16 icon" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</a>
<ul class="dropdown-menu dropdown-menu-large dropdown-menu-selectable clone-options-dropdown qa-clone-options dropdown-menu-right">
<li class="gl-px-4!">
<label class="label-bold">
Clone with SSH
</label>
<div class="input-group btn-group">
<input type="text" name="ssh_project_clone" id="ssh_project_clone" value="git@gitlab.com:Flipstarter.cash/backend.git" class="js-select-on-focus form-control qa-ssh-clone-url" readonly="readonly" aria-label="Repository clone URL">
<div class="input-group-append">
<button class="btn input-group-text gl-button btn btn-icon btn-default" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy URL" data-class="input-group-text gl-button btn btn-icon btn-default" data-clipboard-target="#ssh_project_clone" type="button" title="Copy URL" aria-label="Copy URL"><svg class="s16 gl-icon" data-testid="copy-to-clipboard-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#copy-to-clipboard"></use></svg></button>

</div>
</div>
</li>
<li class="pt-2 gl-px-4!">
<label class="label-bold">
Clone with HTTPS
</label>
<div class="input-group btn-group">
<input type="text" name="http_project_clone" id="http_project_clone" value="https://gitlab.com/Flipstarter.cash/backend.git" class="js-select-on-focus form-control qa-http-clone-url" readonly="readonly" aria-label="Repository clone URL">
<div class="input-group-append">
<button class="btn input-group-text gl-button btn btn-icon btn-default" data-toggle="tooltip" data-placement="bottom" data-container="body" data-title="Copy URL" data-class="input-group-text gl-button btn btn-icon btn-default" data-clipboard-target="#http_project_clone" type="button" title="Copy URL" aria-label="Copy URL"><svg class="s16 gl-icon" data-testid="copy-to-clipboard-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#copy-to-clipboard"></use></svg></button>

</div>
</div>
</li>
<li class="divider mt-2"></li>
<li class="pt-2 gl-new-dropdown-item">
<label class="label-bold gl-px-4!">
Open in your IDE
</label>
<a class="dropdown-item open-with-link" href="vscode://vscode.git/clone?url=git%40gitlab.com%3AFlipstarter.cash%2Fbackend.git">
<div class="gl-new-dropdown-item-text-wrapper">
Visual Studio Code (SSH)
</div>
</a>
<a class="dropdown-item open-with-link" href="vscode://vscode.git/clone?url=https%3A%2F%2Fgitlab.com%2FFlipstarter.cash%2Fbackend.git">
<div class="gl-new-dropdown-item-text-wrapper">
Visual Studio Code (HTTPS)
</div>
</a>
</li>

</ul>
</div>

</div></div><div class="project-clone-holder d-block d-md-none mt-sm-2 mt-md-0 ml-md-2">
<div class="btn-group mobile-git-clone js-mobile-git-clone btn-block">
<button class="btn gl-button btn-confirm flex-fill bold justify-content-center input-group-text clone-dropdown-btn js-clone-dropdown-label" data-toggle="tooltip" data-placement="bottom" data-container="body" data-button-text="Copy HTTPS clone URL" data-hide-button-icon="true" data-class="gl-button btn-confirm flex-fill bold justify-content-center input-group-text clone-dropdown-btn js-clone-dropdown-label" data-clipboard-text="https://gitlab.com/Flipstarter.cash/backend.git" type="button" title="Copy" aria-label="Copy"><span class="gl-button-text">Copy HTTPS clone URL</span></button>
<button class="btn gl-button btn-confirm dropdown-toggle js-dropdown-toggle flex-grow-0 d-flex-center w-auto ml-0" data-toggle="dropdown" type="button">
<svg class="s16 dropdown-btn-icon icon" data-testid="chevron-down-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg>
</button>
<ul class="dropdown-menu dropdown-menu-selectable dropdown-menu-right clone-options-dropdown" data-dropdown="">
<li>
<a class="copy ssh clone url-selector is-active" href="https://gitlab.com/Flipstarter.cash/git@gitlab.com:Flipstarter.cash/backend.git" data-clone-type="ssh"><strong class="dropdown-menu-inner-title">Copy SSH clone URL</strong><span class="dropdown-menu-inner-content">git@gitlab.com:Flipstarter.cash/backend.git</span></a>
</li>
<li>
<a class="copy https clone url-selector " href="https://gitlab.com/Flipstarter.cash/backend.git" data-clone-type="http"><strong class="dropdown-menu-inner-title">Copy HTTPS clone URL</strong><span class="dropdown-menu-inner-content">https://gitlab.com/Flipstarter.cash/backend.git</span></a>
</li>

</ul>
</div>

</div></div>

</div>
<div data-v-10877758="" class="info-well d-none d-sm-flex project-last-commit commit p-3"><a data-v-10877758="" href="https://gitlab.com/krise6361" class="gl-link user-avatar-link avatar-cell"><span><img src="./Baby636 _ flipstarter backend · GitLab_files/082e006edd6c7b6a1cf21613652a0ffa(1).png" width="40" height="40" alt="" data-src="https://secure.gravatar.com/avatar/082e006edd6c7b6a1cf21613652a0ffa?s=80&amp;d=identicon" class="avatar s40 "> <!----></span><!----></a> <div data-v-10877758="" class="commit-detail flex-list"><div data-v-10877758="" class="commit-content qa-commit-content"><a data-v-10877758="" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/d05caecbf6460f8b9d059c5a2581c99886f075a8" class="gl-link commit-row-message item-title">Flipstarter.cash/backend</a> <!----> <div data-v-10877758="" class="committer"><a data-v-10877758="" href="https://gitlab.com/krise6361" class="gl-link commit-author-link js-user-link">
            KRISTOF kähler</a>
          authored
          <time data-v-10877758="" title="Aug 21, 2021 12:12am GMT+0200" datetime="2021-08-20T22:12:50+00:00" class="">3 minutes ago</time></div> <!----></div> <div data-v-10877758="" class="commit-actions flex-row"><!----> <div data-v-10877758="" class="ci-status-link"><a data-v-10877758="" title="Pipeline: failed" href="https://gitlab.com/Flipstarter.cash/backend/-/pipelines/356837344" class="gl-link js-commit-pipeline"><span data-v-10877758="" class="ci-status-icon ci-status-icon-failed js-ci-status-icon-failed" aria-label="Pipeline: failed"><svg data-testid="status_failed-icon" role="img" aria-label="status_failed" class="gl-icon s24"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#status_failed"></use></svg></span></a></div> <div data-v-10877758="" role="group" class="gl-ml-4 js-commit-sha-group btn-group"><span data-v-10877758="" variant="default" size="md" data-testid="last-commit-id-label" class="gl-font-monospace gl-button btn btn-label btn-md">d05caecb</span> <button data-v-10877758="" title="Copy commit SHA" data-clipboard-text="d05caecbf6460f8b9d059c5a2581c99886f075a8" aria-label="Copy this value" type="button" class="btn input-group-text btn-default btn-md gl-button btn-default-secondary btn-icon"><!----> <svg data-testid="copy-to-clipboard-icon" role="img" aria-hidden="true" class="gl-button-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#copy-to-clipboard"></use></svg>  <!----></button></div></div></div></div>
<div class="project-buttons gl-mb-3 js-show-on-project-root">
<ul class="nav">
<li class="nav-item">
<span><button data-testid="upload-file-button" type="button" class="btn btn-default btn-md gl-button"><!----> <svg data-testid="upload-icon" role="img" aria-hidden="true" class="gl-button-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#upload"></use></svg>  <span class="gl-button-text">Upload File</span></button> <form class=""><!----></form></span></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-default" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/README.md"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="doc-text-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#doc-text"></use></svg>README</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-default" itemprop="license" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/LICENSE"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="scale-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#scale"></use></svg><span class="project-stat-value">MIT License</span></a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-default" href="https://gitlab.com/Flipstarter.cash/backend/-/ci/editor"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="doc-text-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#doc-text"></use></svg>CI/CD configuration</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-dashed" href="https://gitlab.com/Flipstarter.cash/backend/-/new/master?commit_message=Add+CHANGELOG&amp;file_name=CHANGELOG"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="plus-square-o-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus-square-o"></use></svg>Add CHANGELOG</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-dashed" href="https://gitlab.com/Flipstarter.cash/backend/-/new/master?commit_message=Add+CONTRIBUTING&amp;file_name=CONTRIBUTING.md"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="plus-square-o-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus-square-o"></use></svg>Add CONTRIBUTING</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-dashed" href="https://gitlab.com/Flipstarter.cash/backend/-/clusters/new"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="plus-square-o-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus-square-o"></use></svg>Add Kubernetes cluster</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-dashed" data-track-event="click" data-track-experiment="repo_integrations_link" href="https://gitlab.com/Flipstarter.cash/backend/-/settings/integrations"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="settings-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#settings"></use></svg>Configure Integrations</a></li>
<li class="nav-item">
<a class="nav-link gl-display-flex gl-align-items-center gl-button btn btn-dashed js-sast-entry-point" data-track-event="cta_clicked_button" data-track-experiment="sast_entry_points" href="https://gitlab.com/help/user/application_security/sast/index"><svg class="s16 icon gl-mr-2 gl-text-gray-500" data-testid="plus-square-o-icon"><use xlink:href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus-square-o"></use></svg>Add Security Testing</a></li>
</ul>

</div>
<div><div class="tree-content-holder"><div class="table-holder bordered-box"><table aria-label="Files, directories, and submodules in the path / for commit reference master" aria-live="polite" data-qa-selector="file_tree_table" class="table tree-table"><thead><tr><th id="name" scope="col">Name</th> <th id="last-commit" scope="col" class="d-none d-sm-table-cell">Last commit</th> <th id="last-update" scope="col" class="text-right">Last update</th></tr></thead> <tbody><!----> <tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/Flipstarter.cash" class="tree-item-link str-truncated" title="Flipstarter.cash/backend" data-qa-selector="file_name_link"><span class="mr-1 position-relative text-secondary"><svg data-testid="folder-icon" role="img" aria-hidden="true" class="folder-icon gl-icon s16" data-qa-selector="folder_icon_content"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#folder"></use></svg></span><span class="position-relative">Flipstarter.cash/backend</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Flipstarter.cash/backend" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/d05caecbf6460f8b9d059c5a2581c99886f075a8" class="gl-link str-truncated-100 tree-commit-link">Flipstarter.cash/backend</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 21, 2021 12:12am GMT+0200" datetime="2021-08-20T22:12:50.000+00:00" class="">3 minutes ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/routes" class="tree-item-link str-truncated" title="routes" data-qa-selector="file_name_link"><span class="mr-1 position-relative text-secondary"><svg data-testid="folder-icon" role="img" aria-hidden="true" class="folder-icon gl-icon s16" data-qa-selector="folder_icon_content"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#folder"></use></svg></span><span class="position-relative">routes</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Fix state issues with docker image
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/249b3fb4f99aa925a83b8830a288668bd6ee10f7" class="gl-link str-truncated-100 tree-commit-link">Fix state issues with docker image</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 24, 2020 2:30pm GMT+0200" datetime="2020-08-24T12:30:26.000+00:00" class="">11 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/sql" class="tree-item-link str-truncated" title="sql" data-qa-selector="file_name_link"><span class="mr-1 position-relative text-secondary"><svg data-testid="folder-icon" role="img" aria-hidden="true" class="folder-icon gl-icon s16" data-qa-selector="folder_icon_content"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#folder"></use></svg></span><span class="position-relative">sql</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add campaign title to database
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/5b9765ba423febc4e319d86a466a959c550213c1" class="gl-link str-truncated-100 tree-commit-link">Add campaign title to database</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Jun 1, 2020 8:14am GMT+0200" datetime="2020-06-01T13:14:26.000+07:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/src" class="tree-item-link str-truncated" title="src" data-qa-selector="file_name_link"><span class="mr-1 position-relative text-secondary"><svg data-testid="folder-icon" role="img" aria-hidden="true" class="folder-icon gl-icon s16" data-qa-selector="folder_icon_content"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#folder"></use></svg></span><span class="position-relative">src</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Update electrum initialization to match v2.0 of the library.
Change from 1-of-1, random to default settings.
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/205bf46c4556f8107913bca92e6af76dfdc2c34d" class="gl-link str-truncated-100 tree-commit-link">Update electrum initialization to match v2.0 of the library.</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 16, 2020 9:20am GMT+0200" datetime="2020-08-16T07:20:53.000+00:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/static" class="tree-item-link str-truncated" title="static" data-qa-selector="file_name_link"><span class="mr-1 position-relative text-secondary"><svg data-testid="folder-icon" role="img" aria-hidden="true" class="folder-icon gl-icon s16" data-qa-selector="folder_icon_content"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#folder"></use></svg></span><span class="position-relative">static</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add Arabic translation file
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/c0934e83666cf9e1a50fee44e9122f752c21ae50" class="gl-link str-truncated-100 tree-commit-link">Add Arabic translation file</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 18, 2021 8:57am GMT+0200" datetime="2021-08-18T06:57:59.000+00:00" class="">2 days ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a href="https://gitlab.com/Flipstarter.cash/backend/-/tree/master/views" class="tree-item-link str-truncated" title="views" data-qa-selector="file_name_link"><span class="mr-1 position-relative text-secondary"><svg data-testid="folder-icon" role="img" aria-hidden="true" class="folder-icon gl-icon s16" data-qa-selector="folder_icon_content"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#folder"></use></svg></span><span class="position-relative">views</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add Arabic translation file
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/c0934e83666cf9e1a50fee44e9122f752c21ae50" class="gl-link str-truncated-100 tree-commit-link">Add Arabic translation file</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 18, 2021 8:57am GMT+0200" datetime="2021-08-18T06:57:59.000+00:00" class="">2 days ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title=".dockerignore" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/.dockerignore" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#docker"></use></svg></span><span class="position-relative">.dockerignore</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Ignore local database
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/5ae6e7329b7c3da41e5fe740c9b5ada2a3215b8d" class="gl-link str-truncated-100 tree-commit-link">Ignore local database</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Jun 1, 2020 9:57am GMT+0200" datetime="2020-06-01T14:57:42.000+07:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title=".eslintrc.json" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/.eslintrc.json" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#eslint"></use></svg></span><span class="position-relative">.eslintrc.json</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Fix eslint
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/78c440d5039fb8eceabcf572906b1d80ea16487e" class="gl-link str-truncated-100 tree-commit-link">Fix eslint</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Jun 6, 2020 7:35am GMT+0200" datetime="2020-06-06T12:35:10.000+07:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title=".gitignore" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/.gitignore" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#git"></use></svg></span><span class="position-relative">.gitignore</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Fix state issues with docker image
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/249b3fb4f99aa925a83b8830a288668bd6ee10f7" class="gl-link str-truncated-100 tree-commit-link">Fix state issues with docker image</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 24, 2020 2:30pm GMT+0200" datetime="2020-08-24T12:30:26.000+00:00" class="">11 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title=".gitlab-ci.yml" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/.gitlab-ci.yml" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#gitlab"></use></svg></span><span class="position-relative">.gitlab-ci.yml</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Automate docker image deployment (#41)
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/d76d525c1bcb6b0a1884f2ee5684789590cfc434" class="gl-link str-truncated-100 tree-commit-link">Automate docker image deployment (#41)</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Sep 30, 2020 1:23pm GMT+0200" datetime="2020-09-30T11:23:30.000+00:00" class="">10 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="Dockerfile" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/Dockerfile" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#docker"></use></svg></span><span class="position-relative">Dockerfile</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add Dockerfile
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/eaeb0bfd3265ec5d60c944f0b7ff4c4c12d64b94" class="gl-link str-truncated-100 tree-commit-link">Add Dockerfile</a></td> <td class="tree-time-ago text-right cursor-default"><time title="May 29, 2020 8:49pm GMT+0200" datetime="2020-05-30T01:49:20.000+07:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="LICENSE" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/LICENSE" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#certificate"></use></svg></span><span class="position-relative">LICENSE</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add LICENSE" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/715b3938746fba6bcb825b65bfb00f6c357d10cb" class="gl-link str-truncated-100 tree-commit-link">Add LICENSE</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Mar 9, 2020 4:21pm GMT+0100" datetime="2020-03-09T15:21:20.000+00:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="README.md" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/README.md" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#markdown"></use></svg></span><span class="position-relative">README.md</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="bounties have no expectations until merge" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/a09edc70d6a698bf7d73ef34c22b724baf3d508c" class="gl-link str-truncated-100 tree-commit-link">bounties have no expectations until merge</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Feb 11, 2021 10:53am GMT+0100" datetime="2021-02-11T09:53:07.000+00:00" class="">6 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="config.js" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/config.js" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#javascript"></use></svg></span><span class="position-relative">config.js</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Fix state issues with docker image
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/249b3fb4f99aa925a83b8830a288668bd6ee10f7" class="gl-link str-truncated-100 tree-commit-link">Fix state issues with docker image</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 24, 2020 2:30pm GMT+0200" datetime="2020-08-24T12:30:26.000+00:00" class="">11 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="package-lock.json" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/package-lock.json" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#nodejs"></use></svg></span><span class="position-relative">package-lock.json</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Fix state issues with docker image
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/249b3fb4f99aa925a83b8830a288668bd6ee10f7" class="gl-link str-truncated-100 tree-commit-link">Fix state issues with docker image</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 24, 2020 2:30pm GMT+0200" datetime="2020-08-24T12:30:26.000+00:00" class="">11 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="package.json" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/package.json" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#nodejs"></use></svg></span><span class="position-relative">package.json</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Mark legacy address format as invalid

As not supported by the Flipstarter EC plugin
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/d0e36c0a713f9b0aad6d6b58e442a6418318f3bb" class="gl-link str-truncated-100 tree-commit-link">Mark legacy address format as invalid</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Nov 2, 2020 2:33pm GMT+0100" datetime="2020-11-02T13:33:42.000+00:00" class="">9 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="server.js" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/server.js" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#javascript"></use></svg></span><span class="position-relative">server.js</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Fix state issues with docker image
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/249b3fb4f99aa925a83b8830a288668bd6ee10f7" class="gl-link str-truncated-100 tree-commit-link">Fix state issues with docker image</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 24, 2020 2:30pm GMT+0200" datetime="2020-08-24T12:30:26.000+00:00" class="">11 months ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="source.js" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/source.js" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#javascript"></use></svg></span><span class="position-relative">source.js</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add Arabic translation file
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/c0934e83666cf9e1a50fee44e9122f752c21ae50" class="gl-link str-truncated-100 tree-commit-link">Add Arabic translation file</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Aug 18, 2021 8:57am GMT+0200" datetime="2021-08-18T06:57:59.000+00:00" class="">2 days ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="webpack.config.js" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/webpack.config.js" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#webpack"></use></svg></span><span class="position-relative">webpack.config.js</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add front-end development files and documentation

flipstarter-frontend repository is no longer needed.
The necessary files to process frontend are in this repo.
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/79869f330fda0912a4f7888203efa87c269fb315" class="gl-link str-truncated-100 tree-commit-link">Add front-end development files and documentation</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Jun 4, 2020 9:54am GMT+0200" datetime="2020-06-04T14:54:55.000+07:00" class="">1 year ago</time></td></tr><tr class="tree-item"><td class="tree-item-file-name cursor-default position-relative"><a title="webpack.sh" href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/webpack.sh" data-qa-selector="file_name_link" class="tree-item-link str-truncated"><span class="mr-1 position-relative text-secondary"><svg class="s16 position-relative file-icon"><use xlink:href="/assets/file_icons-c13caf2f3ca00cc2c02b11d373ac288c200b9b4dcddbb52a5027dc07b3eece19.svg#console"></use></svg></span><span class="position-relative">webpack.sh</span></a> <!----> <!----> <!----></td> <td class="d-none d-sm-table-cell tree-commit cursor-default"><a title="Add an image showing location of abstract and proposal
" href="https://gitlab.com/Flipstarter.cash/backend/-/commit/a36d4c78351f2469cdfd2aba00f6d8e094850ae0" class="gl-link str-truncated-100 tree-commit-link">Add an image showing location of abstract and proposal</a></td> <td class="tree-time-ago text-right cursor-default"><time title="Oct 28, 2020 7:23am GMT+0100" datetime="2020-10-28T06:23:48.000+00:00" class="">9 months ago</time></td></tr> <!----> <!----></tbody></table></div></div> <article class="file-holder limited-width-container readme-holder"><div class="js-file-title file-title-flex-parent"><div class="file-header-content"><svg data-testid="doc-text-icon" role="img" aria-hidden="true" class="gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#doc-text"></use></svg> <a href="https://gitlab.com/Flipstarter.cash/backend/-/blob/master/README.md" class="gl-link"><strong>README.md</strong></a></div></div> <div data-qa-selector="blob_viewer_content" itemprop="about" class="blob-viewer"><div><div class="blob-viewer" data-path="README.md" data-rich-type="markup" data-type="rich">
<div class="file-content md">
<div align="center">
  <a class="no-attachment-icon" href="./Baby636 _ flipstarter backend · GitLab_files/logo-border.svg" target="_blank" rel="noopener noreferrer"><img src="./Baby636 _ flipstarter backend · GitLab_files/logo-border.svg" height="80" class="js-lazy-loaded qa-js-lazy-loaded" loading="lazy"></a>
  <h1>
<a id="user-content-flipstarter" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#flipstarter" aria-hidden="true"></a>Flipstarter</h1>
</div>
<p data-sourcepos="6:1-6:154" dir="auto">Flipstarter provides a way for any project to engage with potential funders in a way that encourages accountability for projects and fairness for funders.</p>
<p data-sourcepos="8:1-10:173" dir="auto"><em>The Flipstarter team has created these tools for anyone to use.
Although we have worked hard to make Flipstarter easy to deploy and reliable to operate, the tools are offered as-is with no expectation of support.
If you are not confident about your ability to deploy and manage a Flipstarter-based campaign, we recommend you work with a web developer who can manage everything for you.</em></p>
<p data-sourcepos="12:1-12:76" dir="auto"><em>Corentin Mercier offers a service <a href="https://merc1er.com/flipstarter" rel="nofollow noreferrer noopener" target="_blank">here</a>.</em></p>
<p data-sourcepos="14:1-15:106" dir="auto">Note: Although this repository is called "backend", it currently contains both the backend and frontend code.
The code for the Electron Cash plugin is <a href="https://gitlab.com/flipstarter/flipstarter-electron-cash">here</a>.</p>
<h2 data-sourcepos="18:1-18:14" dir="auto">
<a id="user-content-development" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#development" aria-hidden="true"></a>Development</h2>
<h3 data-sourcepos="20:1-20:37" dir="auto">
<a id="user-content-run-the-nodejs-development-server" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#run-the-nodejs-development-server" aria-hidden="true"></a>Run the NodeJS development server</h3>
<p data-sourcepos="22:1-22:78" dir="auto">You need <a href="https://nodejs.org/en/" rel="nofollow noreferrer noopener" target="_blank">NodeJS</a> installed on your machine, then run:</p>
<pre class="code highlight js-syntax-highlight language-shell white" lang="shell" v-pre="true"><code><span id="LC1" class="line" lang="shell">npm <span class="nb">install</span></span>
<span id="LC2" class="line" lang="shell">npm start</span>
<span id="LC3" class="line" lang="shell"></span>
<span id="LC4" class="line" lang="shell"><span class="c"># or on windows:</span></span>
<span id="LC5" class="line" lang="shell">npm run start-no-debug</span></code></pre>
<p data-sourcepos="32:1-32:68" dir="auto">And open up <a href="http://localhost:3000/" rel="nofollow noreferrer noopener" target="_blank">localhost:3000</a> in your browser.</p>
<h3 data-sourcepos="34:1-34:28" dir="auto">
<a id="user-content-run-the-docker-container" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#run-the-docker-container" aria-hidden="true"></a>Run the Docker container</h3>
<p data-sourcepos="36:1-36:78" dir="auto">You need <a href="https://www.docker.com/" rel="nofollow noreferrer noopener" target="_blank">Docker</a> installed on your machine, then run:</p>
<pre class="code highlight js-syntax-highlight language-shell white" lang="shell" v-pre="true"><code><span id="LC1" class="line" lang="shell">docker build <span class="nt">-t</span> flipstarter <span class="nb">.</span></span>
<span id="LC2" class="line" lang="shell">docker volume create flipstarter</span>
<span id="LC3" class="line" lang="shell">docker run <span class="nt">-v</span> flipstarter:/app/static/campaigns <span class="nt">-p</span> 3000:3000 flipstarter</span></code></pre>
<p data-sourcepos="44:1-44:68" dir="auto">And open up <a href="http://localhost:3000/" rel="nofollow noreferrer noopener" target="_blank">localhost:3000</a> in your browser.</p>
<h3 data-sourcepos="46:1-46:14" dir="auto">
<a id="user-content-contribute" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#contribute" aria-hidden="true"></a>Contribute</h3>
<p data-sourcepos="48:1-48:76" dir="auto">The Flipstarter team is a group of volunteers, and we welcome contributions.</p>
<p data-sourcepos="50:1-50:19" dir="auto">General guidelines:</p>
<ul data-sourcepos="52:1-58:0" dir="auto">
<li data-sourcepos="52:1-52:126">Submit merge requests for the campaign backend and frontend <a href="https://gitlab.com/flipstarter/backend/-/merge_requests">here</a>.</li>
<li data-sourcepos="53:1-53:135">Submit merge requests for the Electron Cash plugin <a href="https://gitlab.com/flipstarter/flipstarter-electron-cash/-/merge_requests">here</a>.</li>
<li data-sourcepos="54:1-54:115">Keep each change minimal and self-contained. Note that "minimal" does not always mean small, but usually it does.</li>
<li data-sourcepos="55:1-55:93">Avoid mixing moving stuff around with changing stuff. Do changes with renames on their own.</li>
<li data-sourcepos="56:1-56:149">Code review is an important part of the development process. Contributors and maintainers should expect constructive communication from each other.</li>
<li data-sourcepos="57:1-58:0">In some cases, merge requests are rejected. It is up to the MR author to convince the reviewers that the changes warrant the review effort.</li>
</ul>
<p data-sourcepos="59:1-59:19" dir="auto">Suggested workflow:</p>
<ol data-sourcepos="61:1-74:0" dir="auto">
<li data-sourcepos="61:1-61:80">Find or create an issue describing a need or problem that needs to be solved.</li>
<li data-sourcepos="62:1-69:121">[Optional] If you are interested in a bounty, please follow this guideline. Please note that although maintainers try to be realistic about bounty expectations, sometimes MRs are not accepted, and final payout of a bounty depends only on approval and merge of changes.
<ol data-sourcepos="63:5-69:121">
<li data-sourcepos="63:5-63:72">Create a thread on the issue to discuss your proposal and bounty.</li>
<li data-sourcepos="64:5-67:124">Propose a problem to be solved (any clarification to the issue), the outline of a solution and a bounty.
<ul data-sourcepos="65:9-67:124">
<li data-sourcepos="65:9-65:49">Bounties are only paid in Bitcoin Cash.</li>
<li data-sourcepos="66:9-66:52">Bounties are typically denominated in USD.</li>
<li data-sourcepos="67:9-67:124">BCH conversion rates are determined at the time of transfer, typically by the Electron Cash wallet's price source.</li>
</ul>
</li>
<li data-sourcepos="68:5-68:59">Review and revise the proposal with the maintainers.</li>
<li data-sourcepos="69:5-69:121">Flipstarter team pays the bounty from public donations only after a successful review, revision and merge process.</li>
</ol>
</li>
<li data-sourcepos="70:1-70:57">Create a Merge/Pull Request with the proposed changes.</li>
<li data-sourcepos="71:1-71:67">Work with maintainers to review and revise the proposed changes.</li>
<li data-sourcepos="72:1-74:0">Maintainers merge changes if/when they meet Flipstarter needs.</li>
</ol>
<h4 data-sourcepos="75:1-75:19" dir="auto">
<a id="user-content-edit-front-end" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#edit-front-end" aria-hidden="true"></a>Edit front-end</h4>
<h5 data-sourcepos="77:1-77:10" dir="auto">
<a id="user-content-html" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#html" aria-hidden="true"></a>HTML</h5>
<p data-sourcepos="79:1-79:36" dir="auto">HTML files are located in <code>/views/</code>.</p>
<h5 data-sourcepos="81:1-81:22" dir="auto">
<a id="user-content-cssimagesfonts" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#cssimagesfonts" aria-hidden="true"></a>CSS/images/fonts</h5>
<p data-sourcepos="83:1-83:60" dir="auto">These are located in <code>/static/</code>, in their respective folder.</p>
<h5 data-sourcepos="85:1-85:28" dir="auto">
<a id="user-content-javascript-front-end" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#javascript-front-end" aria-hidden="true"></a>JavaScript (front-end)</h5>
<p data-sourcepos="87:1-87:91" dir="auto">To edit the main application script, edit <code>/source.js</code> and run <code>/webpack.sh</code> to process it.</p>
<p data-sourcepos="89:1-89:51" dir="auto"><gl-emoji title="warning sign" data-name="warning" data-unicode-version="4.0">⚠</gl-emoji>️ Do NOT edit <code>application.js</code> directly <gl-emoji title="warning sign" data-name="warning" data-unicode-version="4.0">⚠</gl-emoji>️</p>
<h2 data-sourcepos="91:1-91:23" dir="auto">
<a id="user-content-deploy-to-production" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#deploy-to-production" aria-hidden="true"></a>Deploy to production</h2>
<p data-sourcepos="93:1-93:35" dir="auto">There are multiple ways to do this.</p>
<ol data-sourcepos="95:1-98:0" dir="auto">
<li data-sourcepos="95:1-95:89">Use <a href="https://marketplace.digitalocean.com/apps/flipstarter" rel="nofollow noreferrer noopener" target="_blank">Digital Ocean Marketplace</a>
</li>
<li data-sourcepos="96:1-96:135">Use a NodeJS image and serve <code>server.js</code> on port 80 or 443. You can also use a process manager like <a href="https://pm2.keymetrics.io/" rel="nofollow noreferrer noopener" target="_blank">pm2</a>
</li>
<li data-sourcepos="97:1-98:0">Deploy the docker container on port 80 or 443 using the following commands:</li>
</ol>
<pre class="code highlight js-syntax-highlight language-plaintext white" lang="plaintext" v-pre="true"><code><span id="LC1" class="line" lang="plaintext"># download the latest version of flipstarter</span>
<span id="LC2" class="line" lang="plaintext">docker pull flipstarter/flipstarter</span>
<span id="LC3" class="line" lang="plaintext"></span>
<span id="LC4" class="line" lang="plaintext"># create a volume to store the database</span>
<span id="LC5" class="line" lang="plaintext">docker volume create flipstarter</span>
<span id="LC6" class="line" lang="plaintext"></span>
<span id="LC7" class="line" lang="plaintext"># run the container on ports 443 and 80</span>
<span id="LC8" class="line" lang="plaintext">docker run -d --restart always --name flipstarter -v flipstarter:/app/static/campaigns -p 443:3000 -p 80:3000 flipstarter/flipstarter</span></code></pre>
<p data-sourcepos="110:1-110:76" dir="auto">You can start and stop the container with <code>docker [start/stop] flipstarter</code>.</p>
<h2 data-sourcepos="112:1-112:28" dir="auto">
<a id="user-content-add-a-tlsssl-certificate" class="anchor" href="https://gitlab.com/Flipstarter.cash/backend#add-a-tlsssl-certificate" aria-hidden="true"></a>Add a TLS/SSL certificate</h2>
<p data-sourcepos="114:1-114:144" dir="auto"><strong>If you deployed the app via <a href="https://marketplace.digitalocean.com/apps/flipstarter" rel="nofollow noreferrer noopener" target="_blank">Digital Ocean Marketplace</a> (method 1), follow the steps:</strong></p>
<ol data-sourcepos="116:1-118:0" dir="auto">
<li data-sourcepos="116:1-116:387">Point your domain name (or subdomain) to the IP address of the host using an "A" record. See instructions for <a href="https://www.namecheap.com/support/knowledgebase/article.aspx/319/2237/how-can-i-set-up-an-a-address-record-for-my-domain" rel="nofollow noreferrer noopener" target="_blank">NameCheap</a>, <a href="https://support.cloudways.com/creating-a-record-cloudflare/" rel="nofollow noreferrer noopener" target="_blank">Cloudflare</a> or <a href="https://www.godaddy.com/help/add-an-a-record-19238" rel="nofollow noreferrer noopener" target="_blank">GoDaddy</a>.</li>
<li data-sourcepos="117:1-118:0">Then, <a href="https://www.digitalocean.com/docs/droplets/how-to/connect-with-ssh/" rel="nofollow noreferrer noopener" target="_blank">access your server via SSH</a> and run the following commands:</li>
</ol>
<pre class="code highlight js-syntax-highlight language-shell white" lang="shell" v-pre="true"><code><span id="LC1" class="line" lang="shell"><span class="nb">sudo </span>add-apt-repository ppa:certbot/certbot</span>
<span id="LC2" class="line" lang="shell"><span class="nb">sudo </span>apt-get update</span>
<span id="LC3" class="line" lang="shell"><span class="nb">sudo </span>apt-get <span class="nb">install </span>python-certbot-nginx</span>
<span id="LC4" class="line" lang="shell"><span class="nb">sudo </span>certbot <span class="nt">--nginx</span> <span class="nt">-d</span> yourdomain.com</span></code></pre>
<p data-sourcepos="126:1-127:96" dir="auto">Make sure to replace <code>yourdomain.com</code> with your own domain or subdomain.<br>
Fill in the information, and select <code>2</code> when asked if you want HTTP traffic redirected to HTTPS.</p>
<p data-sourcepos="129:1-129:113" dir="auto">Try reloading your campaign. Your browser should automatically show that the connection to the website is secure.</p>
<p data-sourcepos="131:1-131:30" dir="auto"><strong>If you used method 2 or 3:</strong></p>
<ol data-sourcepos="133:1-136:93" dir="auto">
<li data-sourcepos="133:1-133:45">Install Nginx, Apache or similar software.</li>
<li data-sourcepos="134:1-134:213">Run the Flipstarter Docker container on an available port - for example port 3000 (<code>docker run -d --restart always --name flipstarter -v flipstarter:/app/static/campaigns -p 3000:3000 flipstarter/flipstarter</code>).</li>
<li data-sourcepos="135:1-135:62">Create a reverse proxy to serve port 3000 via Nginx/Apache.</li>
<li data-sourcepos="136:1-136:93">Install <a href="https://certbot.eff.org/" rel="nofollow noreferrer noopener" target="_blank">certbot</a> and run it according to your OS and web server.</li>
</ol>
</div>

</div>
</div></div></article></div>
<div class="modal" id="modal-create-new-dir">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h3 class="page-title">Create New Directory</h3>
<button aria-label="Close" class="close" data-dismiss="modal" type="button">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form class="js-create-dir-form js-quick-submit js-requires-input" action="https://gitlab.com/Flipstarter.cash/backend/-/create_dir/master" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="m4EFJPAGpWjj0Wpwmi31sbW6vhGmnIETuIlcVsa4H3YXraBJxGRTq516sALYpnxmrMH4akcxiCOU4rR1dqRQYw=="><div class="form-group row">
<label class="col-form-label col-sm-2" for="dir_name">Directory name</label>
<div class="col-sm-10">
<input type="text" name="dir_name" id="dir_name" required="required" class="form-control">
</div>
</div>
<div class="form-group row commit_message-group">
<label class="col-form-label col-sm-2" for="commit_message-9901c3b0dc1d2e825a2919088ca24fd2">Commit message
</label><div class="col-sm-10">
<div class="commit-message-container">
<div class="max-width-marker"></div>
<textarea name="commit_message" id="commit_message-9901c3b0dc1d2e825a2919088ca24fd2" class="form-control gl-form-input js-commit-message" placeholder="Add new directory" data-qa-selector="commit_message_field" required="required" rows="3">Add new directory</textarea>
</div>
</div>
</div>

<div class="form-group row branch">
<label class="col-form-label col-sm-2" for="branch_name">Target Branch</label>
<div class="col-sm-10">
<input type="text" name="branch_name" id="branch_name" value="master" required="required" class="form-control gl-form-input js-branch-name ref-name">
<div class="js-create-merge-request-container">
<div class="form-check gl-mt-3">
<input type="checkbox" name="create_merge_request" id="create_merge_request-ce4dd58c1649a5ab27df30be9fb78a99" value="1" class="js-create-merge-request form-check-input" checked="checked">
<label class="form-check-label" for="create_merge_request-ce4dd58c1649a5ab27df30be9fb78a99">Start a <strong>new merge request</strong> with these changes
</label></div>

</div>
</div>
</div>
<input type="hidden" name="original_branch" id="original_branch" value="master" class="js-original-branch">

<div class="form-actions">
<input type="submit" name="commit" value="Create directory" class="btn gl-button btn-confirm disabled" data-disable-with="Create directory" disabled="">
<a class="btn gl-button btn-default btn-cancel" data-dismiss="modal" href="https://gitlab.com/Flipstarter.cash/backend#">Cancel</a>

</div>
</form></div>
</div>
</div>
</div>

</div>

</div>

</main>
</div>


</div>
</div>
<div class="top-nav-responsive layout-page content-wrapper-margin">
<div><div data-testid="mobile-overlay" class="mobile-overlay"></div> <div><div class="gl-h-full gl-w-full"><div><header class="gl-display-flex gl-align-items-center gl-py-4 gl-pl-4"><h1 class="gl-m-0 gl-font-size-h2 gl-reset-color gl-mr-auto">Menu</h1> <a aria-label="Search" data-qa-selector="menu_item_link" data-qa-title="Search" href="https://gitlab.com/search?project_id=29011959" class="btn top-nav-menu-item gl-display-block gl-ml-3 btn-default btn-md gl-button btn-default-tertiary"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="search-icon" role="img" aria-hidden="true" class="gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#search"></use></svg> <!----></span></span></a> <div class="dropdown b-dropdown gl-new-dropdown gl-ml-3 btn-group" no-caret="" id="__BVID__219"><!----><button aria-haspopup="true" aria-expanded="false" type="button" class="btn dropdown-toggle btn-default btn-md top-nav-menu-item gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret" id="__BVID__219__BV_toggle_"><!----> <svg data-testid="plus-icon" role="img" aria-hidden="true" class="dropdown-icon gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#plus"></use></svg> <span class="gl-new-dropdown-button-text gl-sr-only">New...</span> <svg data-testid="chevron-down-icon" role="img" aria-hidden="true" class="gl-button-icon dropdown-chevron gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-down"></use></svg></button><ul role="menu" tabindex="-1" class="dropdown-menu dropdown-menu-right" aria-labelledby="__BVID__219__BV_toggle_"><div class="gl-new-dropdown-inner"><!----> <div class="gl-new-dropdown-contents"><!----> <li role="presentation" class="gl-new-dropdown-section-header"><header data-testid="header" role="heading" class="dropdown-header">
      This project
    </header></li> <li role="presentation" class="gl-new-dropdown-item"><a data-testid="item" role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend/-/issues/new" target="_self" class="dropdown-item top-nav-menu-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
        New issue
      </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item"><a data-testid="item" role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend/-/merge_requests/new" target="_self" class="dropdown-item top-nav-menu-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
        New merge request
      </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item"><a data-testid="item" role="menuitem" href="https://gitlab.com/Flipstarter.cash/backend/-/project_members" target="_self" class="dropdown-item top-nav-menu-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
        Invite members
      </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-divider"><hr data-testid="divider" role="separator" aria-orientation="horizontal" class="dropdown-divider"></li> <li role="presentation" class="gl-new-dropdown-section-header"><header data-testid="header" role="heading" class="dropdown-header">
      GitLab
    </header></li> <li role="presentation" class="gl-new-dropdown-item"><a data-testid="item" role="menuitem" href="https://gitlab.com/projects/new" target="_self" class="dropdown-item top-nav-menu-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
        New project/repository
      </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item"><a data-testid="item" role="menuitem" href="https://gitlab.com/groups/new" target="_self" class="dropdown-item top-nav-menu-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
        New group
      </p> <!----></div> <!----></a></li><li role="presentation" class="gl-new-dropdown-item"><a data-testid="item" role="menuitem" href="https://gitlab.com/-/snippets/new" target="_self" class="dropdown-item top-nav-menu-item"><!----> <!----> <!----> <div class="gl-new-dropdown-item-text-wrapper"><p class="gl-new-dropdown-item-text-primary">
        New snippet
      </p> <!----></div> <!----></a></li></div> <!----></div></ul></div></header> <div class="gl-display-flex gl-align-items-stretch gl-flex-direction-column gl-h-full"><div data-testid="menu-section" class=""><button aria-label="Projects" data-track-label="projects_dropdown" data-track-event="click_dropdown" type="button" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary qa-projects-dropdown" href="" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="project-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#project"></use></svg> 
      Projects
      <svg data-testid="chevron-right-icon" role="img" aria-hidden="true" class="gl-ml-auto gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-right"></use></svg></span></span></button><button aria-label="Groups" data-track-label="groups_dropdown" data-track-event="click_dropdown" type="button" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary qa-groups-dropdown gl-mt-1" href="" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="group-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#group"></use></svg> 
      Groups
      <svg data-testid="chevron-right-icon" role="img" aria-hidden="true" class="gl-ml-auto gl-icon s16"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#chevron-right"></use></svg></span></span></button><a aria-label="Milestones" data-qa-selector="milestones_link" href="https://gitlab.com/dashboard/milestones" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="clock-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#clock"></use></svg> 
      Milestones
      <!----></span></span></a><a aria-label="Snippets" data-qa-selector="snippets_link" href="https://gitlab.com/dashboard/snippets" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="snippet-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#snippet"></use></svg> 
      Snippets
      <!----></span></span></a><a aria-label="Activity" data-qa-selector="activity_link" href="https://gitlab.com/dashboard/activity" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="history-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#history"></use></svg> 
      Activity
      <!----></span></span></a><a aria-label="Environments" data-qa-selector="environment_link" href="https://gitlab.com/-/operations/environments" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="environment-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#environment"></use></svg> 
      Environments
      <!----></span></span></a><a aria-label="Operations" data-qa-selector="operations_link" href="https://gitlab.com/-/operations" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="cloud-gear-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#cloud-gear"></use></svg> 
      Operations
      <!----></span></span></a><a aria-label="Security" data-qa-selector="security_link" href="https://gitlab.com/-/security/dashboard" class="btn top-nav-menu-item gl-display-block gl-w-full btn-default btn-md gl-button btn-default-tertiary gl-mt-1" data-testid="menu-item"><!----> <!---->  <span class="gl-button-text"><span class="gl-display-flex"><svg data-testid="shield-icon" role="img" aria-hidden="true" class="gl-icon s16 gl-mr-3!"><use href="/assets/icons-05c4d4d8f3cc1fe0f22064d47d6a57d254ff9686a08abb74993ade21581e46f8.svg#shield"></use></svg> 
      Security
      <!----></span></span></a></div></div></div></div></div></div>
</div>



<script nonce="">
//<![CDATA[
if ('loading' in HTMLImageElement.prototype) {
  document.querySelectorAll('img.lazy').forEach(img => {
    img.loading = 'lazy';
    let imgUrl = img.dataset.src;
    // Only adding width + height for avatars for now
    if (imgUrl.indexOf('/avatar/') > -1 && imgUrl.indexOf('?') === -1) {
      const targetWidth = img.getAttribute('width') || img.width;
      imgUrl += `?width=${targetWidth}`;
    }
    img.src = imgUrl;
    img.removeAttribute('data-src');
    img.classList.remove('lazy');
    img.classList.add('js-lazy-loaded', 'qa-js-lazy-loaded');
  });
}

//]]>
</script>




<div><!----><!----><!----></div><div></div></body></html>




{
    "display_name": "Flipstarter",
    "version": "1.3",
    "description": "Raise funds cooperatively.",
    "project_url": "https://gitlab.com/flipstarter/flipstarter-electron-cash",
    "minimum_ec_version": "4.0.10",
    "package_name": "flipstarter",
    "available_for": ["🧀baby636#78601.2213907452",            "hex": "76a914d3b6716424123cd1c6631ee65ec6b8f07039b63788ac",
                "reqSigs": 1,
                "type": "pubkeyhash",
                "addresses": [https://reviews.bitcoinabc.org/p/baby636/
                    "bitcoincash:qrfmvutyysfre5wxvv0wvhkxhrc8qwdkxuseg99xh3"
        "qt"
    ]
}


Explorer
All Tokens
Search by transaction ID, address or token name...
Nito Cloud Genesis Transaction
14e1921d5d0bd8b41a71309590b6372bb0cd8965550463234457b59058b82926 
Details
Type	Genesis
Block	677404
Block Time	5.3.2021, 10:11:45
Transaction ID	14e1921d5d0bd8b41a71309590b6372bb0cd8965550463234457b59058b82926 
Creator	simpleledger:qpt8z56sjcng8eux4pgvl7msnns2fzj05s89rl7w90 
Token ID	14e1921d5d0bd8b41a71309590b6372bb0cd8965550463234457b59058b82926 
Version	Type1
Name	NITO
Symbol	Nito Cloud
Verified	
Genesis
Type1 token genesis transactions do not have any SLP inputs.
NFT1 Child transactions can see the input from looking at the Version row in the Token Details pane.

Outputs (2)
Transaction	Amount	Address
✔	92,233,720,368.54775808	simpleledger:qpt8z56sjcng8eux4pgvl7msnns2fzj05s89rl7w90 
✔	Mint Baton         	simpleledger:qpt8z56sjcng8eux4pgvl7msnns2fzj05s89rl7w90 
Simple Ledger Protocol
Source Code
SLP Explorer
SLPDB
slpserve
slpsockserve
slpqueryd
slpjs
Resources
simpleledger.cash
specification
slp-sdk
Connect
SimpleLedger Chat
SimpleLedger Youtube
SimpleLedger Twitter
Fountainhead Chat

aaaaaa

https://gitlab.com/krise6361/flipstarter.cash

https://gitlab.com/Flipstarter.cash/bchwallet

https://flipstarter.too.krise636.cash/

https://nitoblender.com/

https://www.gaiaec.org/



## Quickstart
        
        BitcoinPython is so easy to use, in fact, you can do this:
        
        ```python
        >>> from bitcoinpython import Key
        >>>
        >>> k = Key()
        >>> k.address
        'bitcoincash:qrfmvutyysfre5wxvv0wvhkxhrc8qwdkxuseg99xh3'
        >>>
        >>> k.get_balance('usd')
        '2'
        >>>
        >>> # Let's donate a dollar to https://flipstarter.too.krise636.cash/
        >>> outputs = [https://reviews.bitcoinabc.org/p/baby636/
        >>>     ('bitcoincash:qrfmvutyysfre5wxvv0wvhkxhrc8qwdkxuseg99xh3', 100000, 'usd'),
        >>>     # you can add more recipients here
        >>> ]
        >>>
        >>> k.send(outputs)
        '14e1921d5d0bd8b41a71309590b6372bb0cd8965550463234457b59058b82926'
        ```
        
        Done ✅ Here is the transaction:  
        https://explorer.bitcoin.com/bch/tx/14e1921d5d0bd8b41a71309590b6372bb0cd8965550463234457b59058b82926
        
        ## Features
        
        - Python's fastest available implementation (100x faster than closest library)
        - Seamless integration with existing server setups
        - Supports keys in cold storage
        - Fully supports 25 different currencies
        - First class support for storing data in the blockchain
        - Deterministic signatures via RFC 6979
        - Exchange rate API, with optional caching
        - Optimal transaction fee API, with optional caching
        - Compressed public keys by default
        - Multiple representations of private keys; WIF, PEM, DER, etc.
        - Standard P2PKH transactions
        
        ## Installation
        
        BitcoinPython is distributed on `PyPI` and is available on Linux/macOS and Windows with Python 3.5+
        
        ```shell
        $ pip3 install bitcoinpython
        ```
        
        ## Credits

## Installation
        
        BitcoinPython is distributed on `PyPI` and is available on Linux/macOS and Windows with Python 3.5+
        
        ```shell
        $ pip3 install bitcoinpython
        ```
        
        ## Credits
        
        Forked from Ofek's Bit and Teran McKinney's bitcash
        
        - [ofek](https://github.com/ofek/bit) for the original bit codebase
        - [teran-mckinney](https://github.com/sporestack/bitcash) for the bitcash fork
        - [bjarnemagnussen](https://github.com/bjarnemagnussen/bit/tree/segwit) for his segwit code for the necessary BIP-143 support
        
Keywords: bitcoin,bitcoincash,cryptocurrency,payments,tools,wallet
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Description-Content-Type: text/markdown
Provides-Extra: cache
Provides-Extra: cli


import sys
import time
from multiprocessing import Event, Process, Queue, Value, cpu_count

from coincurve import Context

from bit.base58 import BASE58_ALPHABET, b58encode_check
from bit.crypto import ECPrivateKey, ripemd160_sha256
from bit.format import bytes_to_wif, public_key_to_address


def generate_key_address_pair():  # pragma: no cover
    private_key = ECPrivateKey()
    address = public_key_to_address(private_key.public_key.format())
    return bytes_to_wif(private_key.secret), address


def generate_matching_address(prefix, cores='all'):  # pragma: no cover

    for char in prefix:
        if char not in BASE58_ALPHABET:
            raise ValueError('{} is an invalid base58 encoded character.'.format(char))

    if not prefix:
        return generate_key_address_pair()
    elif not prefix.startswith('1'):
        prefix = '1' + prefix

    available_cores = cpu_count()

    if cores == 'all':
        cores = available_cores
    elif 0 < int(cores) <= available_cores:
        cores = int(cores)
    else:
        cores = 1

    counter = Value('i')
    match = Event()
    queue = Queue()

    workers = []
    for _ in range(cores):
        workers.append(Process(target=generate_key_address_pairs, args=(prefix, counter, match, queue)))

    for worker in workers:
        worker.start()

    keys_generated = 0
    while True:
        time.sleep(1)
        current = counter.value
        if current == keys_generated:
            if current == 0:
                continue
            break
        keys_generated = current
        s = 'Keys generated: {}\r'.format(keys_generated)
        sys.stdout.write(s)
        sys.stdout.flush()

    private_key, address = queue.get()
    print('\n\n' 'WIF: {}\n' 'Address: {}'.format(bytes_to_wif(private_key), address))


def generate_key_address_pairs(prefix, counter, match, queue):  # pragma: no cover

    context = Context()

    while True:
        if match.is_set():
            return

        with counter.get_lock():
            counter.value += 1

        private_key = ECPrivateKey(context=context)
        address = b58encode_check(b'\x00' + ripemd160_sha256(private_key.public_key.format()))

        if address.startswith(prefix):
            match.set()
            queue.put_nowait((private_key.secret, address))
            return


This XML file does not appear to have any style information associated with it. The document tree is shown below.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<packaging>jar</packaging>
<name>Jython</name>
<version>2.7.2</version>
<url>https://www.jython.org/</url>
<description> Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform. </description>
<licenses>
<license>
<name>Jython Software License</name>
<url>https://www.jython.org/Project/license.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:hg:https://hg.python.org/jython</connection>
<developerConnection>scm:hg:ssh://hg@hg.python.org/jython</developerConnection>
<url>https://hg.python.org/jython</url>
</scm>
<developers>
<developer>
<id>jython</id>
<name>Jython Developers</name>
<email>jython-dev@lists.sourceforge.net</email>
</developer>
</developers>
</project>https://reviews.bitcoinabc.org/p/baby636/







import json

from bitcash.crypto import ECPrivateKey
from bitcash.curve import Point
from bitcash.exceptions import InvalidNetwork
from bitcash.format import (
    bytes_to_wif,
    public_key_to_address,
    public_key_to_coords,
    wif_to_bytes,
    address_to_public_key_hash,
)
from bitcash.network import NetworkAPI, satoshi_to_currency_cached
from bitcash.network.meta import Unspent
from bitcash.transaction import (
    calc_txid,
    create_p2pkh_transaction,
    sanitize_tx_data,
    OP_CHECKSIG,
    OP_DUP,
    OP_EQUALVERIFY,
    OP_HASH160,
    OP_PUSH_20,
)


NETWORKS = {"main": "mainnet", "test": "testnet", "regtest": "regtest"}
DEFAULT_FEE = 1


def wif_to_key(wif, regtest=False):
    private_key_bytes, compressed, version = wif_to_bytes(wif, regtest)

    if version == "main":
        if compressed:
            return PrivateKey.from_bytes(private_key_bytes)
        else:
            return PrivateKey(wif)
    elif version == "test":
        if compressed:
            return PrivateKeyTestnet.from_bytes(private_key_bytes)
        else:
            return PrivateKeyTestnet(wif)
    else:  # Regtest
        if compressed:
            return PrivateKeyRegtest.from_bytes(private_key_bytes)
        else:
            return PrivateKeyRegtest(wif)


class BaseKey:
    """This class represents a point on the elliptic curve secp256k1 and
    provides all necessary cryptographic functionality. You shouldn't use
    this class directly.

    :param wif: A private key serialized to the Wallet Import Format. If the
                argument is not supplied, a new private key will be created.
                The WIF compression flag will be adhered to, but the version
                byte is disregarded. Compression will be used by all new keys.
    :type wif: ``str``
    :raises TypeError: If ``wif`` is not a ``str``.
    """

    def __init__(self, wif=None, regtest=False):
        if wif:
            if isinstance(wif, str):
                private_key_bytes, compressed, version = wif_to_bytes(wif, regtest)
                self._pk = ECPrivateKey(private_key_bytes)
            elif isinstance(wif, ECPrivateKey):
                self._pk = wif
                compressed = True
            else:
                raise TypeError("Wallet Import Format must be a string.")
        else:
            self._pk = ECPrivateKey()
            compressed = True

        self._public_point = None
        self._public_key = self._pk.public_key.format(compressed=compressed)

    @property
    def public_key(self):
        """The public point serialized to bytes."""
        return self._public_key

    @property
    def public_point(self):
        """The public point (x, y)."""
        if self._public_point is None:
            self._public_point = Point(*public_key_to_coords(self._public_key))
        return self._public_point

    def sign(self, data):
        """Signs some data which can be verified later by others using
        the public key.

        :param data: The message to sign.
        :type data: ``bytes``
        :returns: A signature compliant with BIP-62.
        :rtype: ``bytes``
        """
        return self._pk.sign(data)

    def verify(self, signature, data):
        """Verifies some data was signed by this private key.

        :param signature: The signature to verify.
        :type signature: ``bytes``
        :param data: The data that was supposedly signed.
        :type data: ``bytes``
        :rtype: ``bool``
        """
        return self._pk.public_key.verify(signature, data)

    def to_hex(self):
        """:rtype: ``str``"""
        return self._pk.to_hex()

    def to_bytes(self):
        """:rtype: ``bytes``"""
        return self._pk.secret

    def to_der(self):
        """:rtype: ``bytes``"""
        return self._pk.to_der()

    def to_pem(self):
        """:rtype: ``bytes``"""
        return self._pk.to_pem()

    def to_int(self):
        """:rtype: ``int``"""
        return self._pk.to_int()

    def is_compressed(self):
        """Returns whether or not this private key corresponds to a compressed
        public key.

        :rtype: ``bool``
        """
        return True if len(self.public_key) == 33 else False

    def __eq__(self, other):
        return self.to_int() == other.to_int()


class PrivateKey(BaseKey):
    """This class represents a BitcoinCash private key. ``Key`` is an alias.

    :param wif: A private key serialized to the Wallet Import Format. If the
                argument is not supplied, a new private key will be created.
                The WIF compression flag will be adhered to, but the version
                byte is disregarded. Compression will be used by all new keys.
    :type wif: ``str``
    :raises TypeError: If ``wif`` is not a ``str``.
    """

    def __init__(self, wif=None, network="main"):
        super().__init__(wif=wif)

        self._address = None
        self._scriptcode = None
        if network in NETWORKS.keys():
            self._network = network
        else:
            raise InvalidNetwork
        self.balance = 0
        self.unspents = []
        self.transactions = []

    @property
    def address(self):
        """The public address you share with others to receive funds."""
        if self._address is None:
            self._address = public_key_to_address(
                self._public_key, version=self._network
            )

        return self._address

    @property
    def scriptcode(self):
        self._scriptcode = (
            OP_DUP
            + OP_HASH160
            + OP_PUSH_20
            + address_to_public_key_hash(self.address)
            + OP_EQUALVERIFY
            + OP_CHECKSIG
        )
        return self._scriptcode

    def to_wif(self):
        return bytes_to_wif(
            self._pk.secret, version=self._network, compressed=self.is_compressed()
        )

    def balance_as(self, currency):
        """Returns your balance as a formatted string in a particular currency.

        :param currency: One of the :ref:`supported currencies`.
        :type currency: ``str``
        :rtype: ``str``
        """
        return satoshi_to_currency_cached(self.balance, currency)

    def get_balance(self, currency="satoshi"):
        """Fetches the current balance by calling
        :func:`~bitcash.PrivateKey.get_balance` and returns it using
        :func:`~bitcash.PrivateKey.balance_as`.

        :param currency: One of the :ref:`supported currencies`.
        :type currency: ``str``
        :rtype: ``str``
        """
        self.unspents[:] = NetworkAPI.get_unspent(
            self.address, network=NETWORKS[self._network]
        )
        self.balance = sum(unspent.amount for unspent in self.unspents)
        return self.balance_as(currency)

    def get_unspents(self):
        """Fetches all available unspent transaction outputs.

        :rtype: ``list`` of :class:`~bitcash.network.meta.Unspent`
        """
        self.unspents[:] = NetworkAPI.get_unspent(
            self.address, network=NETWORKS[self._network]
        )
        self.balance = sum(unspent.amount for unspent in self.unspents)
        return self.unspents

    def get_transactions(self):
        """Fetches transaction history.

        :rtype: ``list`` of ``str`` transaction IDs
        """
        self.transactions[:] = NetworkAPI.get_transactions(
            self.address, network=NETWORKS[self._network]
        )
        return self.transactions

    def create_transaction(
        self,
        outputs,
        fee=None,
        leftover=None,
        combine=True,
        message=None,
        unspents=None,
        custom_pushdata=False,
    ):  # pragma: no cover
        """Creates a signed P2PKH transaction.

        :param outputs: A sequence of outputs you wish to send in the form
                        ``(destination, amount, currency)``. The amount can
                        be either an int, float, or string as long as it is
                        a valid input to ``decimal.Decimal``. The currency
                        must be :ref:`supported <supported currencies>`.
        :type outputs: ``list`` of ``tuple``
        :param fee: The number of satoshi per byte to pay to miners. By default
                    Bitcash will poll `<https://bitcoincashfees.earn.com>`_ and use a fee
                    that will allow your transaction to be confirmed as soon as
                    possible.
        :type fee: ``int``
        :param leftover: The destination that will receive any change from the
                         transaction. By default Bitcash will send any change to
                         the same address you sent from.
        :type leftover: ``str``
        :param combine: Whether or not Bitcash should use all available UTXOs to
                        make future transactions smaller and therefore reduce
                        fees. By default Bitcash will consolidate UTXOs.
        :type combine: ``bool``
        :param message: A message to include in the transaction. This will be
                        stored in the blockchain forever. Due to size limits,
                        each message will be stored in chunks of 220 bytes.
        :type message: ``str``
        :param unspents: The UTXOs to use as the inputs. By default Bitcash will
                         communicate with the blockchain itself.
        :type unspents: ``list`` of :class:`~bitcash.network.meta.Unspent`
        :returns: The signed transaction as hex.
        :rtype: ``str``
        """

        unspents, outputs = sanitize_tx_data(
            unspents or self.unspents,
            outputs,
            fee or DEFAULT_FEE,
            leftover or self.address,
            combine=combine,
            message=message,
            compressed=self.is_compressed(),
            custom_pushdata=custom_pushdata,
        )

        return create_p2pkh_transaction(
            self, unspents, outputs, custom_pushdata=custom_pushdata
        )

    def send(
        self,
        outputs,
        fee=None,
        leftover=None,
        combine=True,
        message=None,
        unspents=None,
    ):  # pragma: no cover
        """Creates a signed P2PKH transaction and attempts to broadcast it on
        the blockchain. This accepts the same arguments as
        :func:`~bitcash.PrivateKey.create_transaction`.

        :param outputs: A sequence of outputs you wish to send in the form
                        ``(destination, amount, currency)``. The amount can
                        be either an int, float, or string as long as it is
                        a valid input to ``decimal.Decimal``. The currency
                        must be :ref:`supported <supported currencies>`.
        :type outputs: ``list`` of ``tuple``
        :param fee: The number of satoshi per byte to pay to miners. By default
                    Bitcash will poll `<https://bitcoincashfees.earn.com>`_ and use a fee
                    that will allow your transaction to be confirmed as soon as
                    possible.
        :type fee: ``int``
        :param leftover: The destination that will receive any change from the
                         transaction. By default Bitcash will send any change to
                         the same address you sent from.
        :type leftover: ``str``
        :param combine: Whether or not Bitcash should use all available UTXOs to
                        make future transactions smaller and therefore reduce
                        fees. By default Bitcash will consolidate UTXOs.
        :type combine: ``bool``
        :param message: A message to include in the transaction. This will be
                        stored in the blockchain forever. Due to size limits,
                        each message will be stored in chunks of 220 bytes.
        :type message: ``str``
        :param unspents: The UTXOs to use as the inputs. By default Bitcash will
                         communicate with the blockchain itself.
        :type unspents: ``list`` of :class:`~bitcash.network.meta.Unspent`
        :returns: The transaction ID.
        :rtype: ``str``
        """

        tx_hex = self.create_transaction(
            outputs,
            fee=fee,
            leftover=leftover,
            combine=combine,
            message=message,
            unspents=unspents,
        )

        NetworkAPI.broadcast_tx(tx_hex, network=NETWORKS[self._network])

        return calc_txid(tx_hex)

    @classmethod
    def prepare_transaction(
        cls,
        address,
        outputs,
        compressed=True,
        fee=None,
        leftover=None,
        combine=True,
        message=None,
        unspents=None,
    ):  # pragma: no cover
        """Prepares a P2PKH transaction for offline signing.

        :param address: The address the funds will be sent from.
        :type address: ``str``
        :param outputs: A sequence of outputs you wish to send in the form
                        ``(destination, amount, currency)``. The amount can
                        be either an int, float, or string as long as it is
                        a valid input to ``decimal.Decimal``. The currency
                        must be :ref:`supported <supported currencies>`.
        :type outputs: ``list`` of ``tuple``
        :param compressed: Whether or not the ``address`` corresponds to a
                           compressed public key. This influences the fee.
        :type compressed: ``bool``
        :param fee: The number of satoshi per byte to pay to miners. By default
                    Bitcash will poll `<https://bitcoincashfees.earn.com>`_ and use a fee
                    that will allow your transaction to be confirmed as soon as
                    possible.
        :type fee: ``int``
        :param leftover: The destination that will receive any change from the
                         transaction. By default Bitcash will send any change to
                         the same address you sent from.
        :type leftover: ``str``
        :param combine: Whether or not Bitcash should use all available UTXOs to
                        make future transactions smaller and therefore reduce
                        fees. By default Bitcash will consolidate UTXOs.
        :type combine: ``bool``
        :param message: A message to include in the transaction. This will be
                        stored in the blockchain forever. Due to size limits,
                        each message will be stored in chunks of 220 bytes.
        :type message: ``str``
        :param unspents: The UTXOs to use as the inputs. By default Bitcash will
                         communicate with the blockchain itself.
        :type unspents: ``list`` of :class:`~bitcash.network.meta.Unspent`
        :returns: JSON storing data required to create an offline transaction.
        :rtype: ``str``
        """
        unspents, outputs = sanitize_tx_data(
            unspents or NetworkAPI.get_unspent(address),
            outputs,
            fee or DEFAULT_FEE,
            leftover or address,
            combine=combine,
            message=message,
            compressed=compressed,
        )

        data = {
            "unspents": [unspent.to_dict() for unspent in unspents],
            "outputs": outputs,
        }

        return json.dumps(data, separators=(",", ":"))

    def sign_transaction(self, tx_data):  # pragma: no cover
        """Creates a signed P2PKH transaction using previously prepared
        transaction data.

        :param tx_data: Output of :func:`~bitcash.PrivateKey.prepare_transaction`.
        :type tx_data: ``str``
        :returns: The signed transaction as hex.
        :rtype: ``str``
        """
        data = json.loads(tx_data)

        unspents = [Unspent.from_dict(unspent) for unspent in data["unspents"]]
        outputs = data["outputs"]

        return create_p2pkh_transaction(self, unspents, outputs)

    @classmethod
    def from_hex(cls, hexed):
        """
        :param hexed: A private key previously encoded as hex.
        :type hexed: ``str``
        :rtype: :class:`~bitcash.PrivateKey`
        """
        return PrivateKey(ECPrivateKey.from_hex(hexed))

    @classmethod
    def from_bytes(cls, bytestr):
        """
        :param bytestr: A private key previously encoded as hex.
        :type bytestr: ``bytes``
        :rtype: :class:`~bitcash.PrivateKey`
        """
        return PrivateKey(ECPrivateKey(bytestr))

    @classmethod
    def from_der(cls, der):
        """
        :param der: A private key previously encoded as DER.
        :type der: ``bytes``
        :rtype: :class:`~bitcash.PrivateKey`
        """
        return PrivateKey(ECPrivateKey.from_der(der))

    @classmethod
    def from_pem(cls, pem):
        """
        :param pem: A private key previously encoded as PEM.
        :type pem: ``bytes``
        :rtype: :class:`~bitcash.PrivateKey`
        """
        return PrivateKey(ECPrivateKey.from_pem(pem))

    @classmethod
    def from_int(cls, num):
        """
        :param num: A private key in raw integer form.
        :type num: ``int``
        :rtype: :class:`~bitcash.PrivateKey`
        """
        return PrivateKey(ECPrivateKey.from_int(num))

    def __repr__(self):
        return f"<PrivateKey: {self.address}>"


class PrivateKeyTestnet(PrivateKey):
    """This class represents a testnet BitcoinCash private key. **Note:** coins
    on the test network have no monetary value!

    :param wif: A private key serialized to the Wallet Import Format. If the
                argument is not supplied, a new private key will be created.
                The WIF compression flag will be adhered to, but the version
                byte is disregarded. Compression will be used by all new keys.
    :type wif: ``str``
    :raises TypeError: If ``wif`` is not a ``str``.
    """

    def __init__(self, wif=None, network="test"):
        super().__init__(wif=wif, network=network)

    @classmethod
    def from_hex(cls, hexed):
        """
        :param hexed: A private key previously encoded as hex.
        :type hexed: ``str``
        :rtype: :class:`~bitcash.PrivateKeyTestnet`
        """
        return PrivateKeyTestnet(ECPrivateKey.from_hex(hexed))

    @classmethod
    def from_bytes(cls, bytestr):
        """
        :param bytestr: A private key previously encoded as hex.
        :type bytestr: ``bytes``
        :rtype: :class:`~bitcash.PrivateKeyTestnet`
        """
        return PrivateKeyTestnet(ECPrivateKey(bytestr))

    @classmethod
    def from_der(cls, der):
        """
        :param der: A private key previously encoded as DER.
        :type der: ``bytes``
        :rtype: :class:`~bitcash.PrivateKeyTestnet`
        """
        return PrivateKeyTestnet(ECPrivateKey.from_der(der))

    @classmethod
    def from_pem(cls, pem):
        """
        :param pem: A private key previously encoded as PEM.
        :type pem: ``bytes``
        :rtype: :class:`~bitcash.PrivateKeyTestnet`
        """
        return PrivateKeyTestnet(ECPrivateKey.from_pem(pem))

    @classmethod
    def from_int(cls, num):
        """
        :param num: A private key in raw integer form.
        :type num: ``int``
        :rtype: :class:`~bitcash.PrivateKeyTestnet`
        """
        return PrivateKeyTestnet(ECPrivateKey.from_int(num))

    def __repr__(self):
        return f"<PrivateKeyTestnet: {self.address}>"


class PrivateKeyRegtest(PrivateKey):
    """This class represents a regtest BitcoinCash private key. **Note:** coins
    on the regtest network have no monetary value!

    :param wif: A private key serialized to the Wallet Import Format. If the
                argument is not supplied, a new private key will be created.
                The WIF compression flag will be adhered to, but the version
                byte is disregarded. Compression will be used by all new keys.
    :type wif: ``str``
    :raises TypeError: If ``wif`` is not a ``str``.
    """

    def __init__(self, wif=None, network="regtest"):
        super().__init__(wif, network)

    @classmethod
    def from_hex(cls, hexed):
        """
        :param hexed: A private key previously encoded as hex.
        :type hexed: ``str``
        :rtype: :class:`~bitcash.PrivateKeyRegtest`
        """
        return PrivateKeyRegtest(ECPrivateKey.from_hex(hexed))

    @classmethod
    def from_bytes(cls, bytestr):
        """
        :param bytestr: A private key previously encoded as hex.
        :type bytestr: ``bytes``
        :rtype: :class:`~bitcash.PrivateKeyRegtest`
        """
        return PrivateKeyRegtest(ECPrivateKey(bytestr))

    @classmethod
    def from_der(cls, der):
        """
        :param der: A private key previously encoded as DER.
        :type der: ``bytes``
        :rtype: :class:`~bitcash.PrivateKeyRegtest`
        """
        return PrivateKeyRegtest(ECPrivateKey.from_der(der))

    @classmethod
    def from_pem(cls, pem):
        """
        :param pem: A private key previously encoded as PEM.
        :type pem: ``bytes``
        :rtype: :class:`~bitcash.PrivateKeyRegtest`
        """
        return PrivateKeyRegtest(ECPrivateKey.from_pem(pem))

    @classmethod
    def from_int(cls, num):
        """
        :param num: A private key in raw integer form.
        :type num: ``int``
        :rtype: :class:`~bitcash.PrivateKeyRegtest`
        """
        return PrivateKeyRegtest(ECPrivateKey.from_int(num))

    def __repr__(self):
        return f"<PrivateKeyRegtest: {self.address}>"


Key = PrivateKey


import sys
import time
from multiprocessing import Event, Process, Queue, Value, cpu_count

from coincurve import Context

from bitcash.base58 import BASE58_ALPHABET, b58encode_check
from bitcash.crypto import ECPrivateKey, ripemd160_sha256
from bitcash.format import bytes_to_wif, public_key_to_address


def generate_key_address_pair():  # pragma: no cover
    private_key = ECPrivateKey()
    address = public_key_to_address(private_key.public_key.format())
    return bytes_to_wif(private_key.secret), address


def generate_matching_address(prefix, cores="all"):  # pragma: no cover

    for char in prefix:
        if char not in BASE58_ALPHABET:
            raise ValueError(f"{char} is an invalid base58 encoded " f"character.")

    if not prefix:
        return generate_key_address_pair()
    elif not prefix.startswith("1"):
        prefix = "1" + prefix

    available_cores = cpu_count()

    if cores == "all":
        cores = available_cores
    elif 0 < int(cores) <= available_cores:
        cores = int(cores)
    else:
        cores = 1

    counter = Value("i")
    match = Event()
    queue = Queue()

    workers = []
    for _ in range(cores):
        workers.append(
            Process(
                target=generate_key_address_pairs, args=(prefix, counter, match, queue)
            )
        )

    for worker in workers:
        worker.start()

    keys_generated = 0
    while True:
        time.sleep(1)
        current = counter.value
        if current == keys_generated:
            if current == 0:
                continue
            break
        keys_generated = current
        s = f"Keys generated: {keys_generated}\r"
        sys.stdout.write(s)
        sys.stdout.flush()

    private_key, address = queue.get()
    print(f"\n\n" f"WIF: {bytes_to_wif(private_key)}\n" f"Address: {address}")


def generate_key_address_pairs(prefix, counter, match, queue):  # pragma: no cover

    context = Context()

    while True:
        if match.is_set():
            return

        with counter.get_lock():
            counter.value += 1

        private_key = ECPrivateKey(context=context)
        address = b58encode_check(
            b"\x00" + ripemd160_sha256(private_key.public_key.format())
        )

        if address.startswith(prefix):
            match.set()
            queue.put_nowait((private_key.secret, address))
            return


import decimal
from binascii import hexlify


class Decimal(decimal.Decimal):
    def __new__(cls, value):
        return super().__new__(cls, str(value))


def chunk_data(data, size):
    return (data[i : i + size] for i in range(0, len(data), size))


def int_to_unknown_bytes(num, byteorder="big"):
    """Converts an int to the least number of bytes as possible."""
    return num.to_bytes((num.bit_length() + 7) // 8 or 1, byteorder)


def bytes_to_hex(bytestr, upper=False):
    hexed = hexlify(bytestr).decode()
    return hexed.upper() if upper else hexed


def hex_to_bytes(hexed):

    if len(hexed) & 1:
        hexed = "0" + hexed

    return bytes.fromhex(hexed)


def int_to_hex(num, upper=False):
    hexed = hex(num)[2:]
    return hexed.upper() if upper else hexed


def hex_to_int(hexed):
    return int(hexed, 16)


def flip_hex_byte_order(string):
    return bytes_to_hex(hex_to_bytes(string)[::-1])


def int_to_varint(val):

    if val < 253:
        return val.to_bytes(1, "little")
    elif val <= 65535:
        return b"\xfd" + val.to_bytes(2, "little")
    elif val <= 4294967295:
        return b"\xfe" + val.to_bytes(4, "little")
    else:
        return b"\xff" + val.to_bytes(8, "little")


import logging
from collections import namedtuple

from bitcash.crypto import double_sha256, sha256
from bitcash.exceptions import InsufficientFunds
from bitcash.format import address_to_public_key_hash
from bitcash.network.rates import currency_to_satoshi_cached
from bitcash.utils import (
    bytes_to_hex,
    chunk_data,
    hex_to_bytes,
    int_to_unknown_bytes,
    int_to_varint,
)

VERSION_1 = 0x01 .to_bytes(4, byteorder="little")
SEQUENCE = 0xFFFFFFFF .to_bytes(4, byteorder="little")
LOCK_TIME = 0x00 .to_bytes(4, byteorder="little")

##
# Python 3 doesn't allow bitwise operators on byte objects...
HASH_TYPE = 0x01 .to_bytes(4, byteorder="little")
# BitcoinCash fork ID.
SIGHASH_FORKID = 0x40 .to_bytes(4, byteorder="little")
# So we just do this for now. FIXME
HASH_TYPE = 0x41 .to_bytes(4, byteorder="little")
##

OP_0 = b"\x00"
OP_CHECKLOCKTIMEVERIFY = b"\xb1"
OP_CHECKSIG = b"\xac"
OP_DUP = b"v"
OP_EQUALVERIFY = b"\x88"
OP_HASH160 = b"\xa9"
OP_PUSH_20 = b"\x14"
OP_RETURN = b"\x6a"
OP_PUSHDATA1 = b"\x4c"
OP_PUSHDATA2 = b"\x4d"
OP_PUSHDATA4 = b"\x4e"

MESSAGE_LIMIT = 220


class TxIn:
    __slots__ = ("script", "script_len", "txid", "txindex", "amount")

    def __init__(self, script, script_len, txid, txindex, amount):
        self.script = script
        self.script_len = script_len
        self.txid = txid
        self.txindex = txindex
        self.amount = amount

    def __eq__(self, other):
        return (
            self.script == other.script
            and self.script_len == other.script_len
            and self.txid == other.txid
            and self.txindex == other.txindex
            and self.amount == other.amount
        )

    def __repr__(self):
        return (
            f"TxIn({repr(self.script)}, "
            f"{repr(self.script_len)}, "
            f"{repr(self.txid)}, "
            f"{repr(self.txindex)}, "
            f"{repr(self.amount)})"
        )


Output = namedtuple("Output", ("address", "amount", "currency"))


def calc_txid(tx_hex):
    return bytes_to_hex(double_sha256(hex_to_bytes(tx_hex))[::-1])


def estimate_tx_fee(n_in, n_out, satoshis, compressed, op_return_size=0):

    if not satoshis:
        return 0

    estimated_size = (
        4
        + n_in * (148 if compressed else 180)  # version
        + len(int_to_unknown_bytes(n_in, byteorder="little"))
        + n_out * 34  # excluding op_return outputs, dealt with separately
        + len(int_to_unknown_bytes(n_out, byteorder="little"))
        + op_return_size  # grand total size of op_return outputs(s) and related field(s)
        + 4  # time lock
    )

    estimated_fee = estimated_size * satoshis

    logging.debug(f"Estimated fee: {estimated_fee} satoshis for {estimated_size} bytes")

    return estimated_fee


def get_op_return_size(message, custom_pushdata=False):
    # calculate op_return size for each individual message
    if custom_pushdata is False:
        op_return_size = (
            8  # int64_t amount 0x00000000
            + len(OP_RETURN)  # 1 byte
            + len(
                get_op_pushdata_code(message)
            )  # 1 byte if <75 bytes, 2 bytes if OP_PUSHDATA1...
            + len(message)  # Max 220 bytes at present
        )

    if custom_pushdata is True:
        op_return_size = (
            8  # int64_t amount 0x00000000
            + len(OP_RETURN)  # 1 byte
            + len(
                message
            )  # Unsure if Max size will be >220 bytes due to extra OP_PUSHDATA codes...
        )

    # "Var_Int" that preceeds OP_RETURN - 0xdf is max value with current 220 byte limit (so only adds 1 byte)
    op_return_size += len(int_to_varint(op_return_size))
    return op_return_size


def get_op_pushdata_code(dest):
    length_data = len(dest)
    if length_data <= 0x4C:  # (https://en.bitcoin.it/wiki/Script)
        return length_data.to_bytes(1, byteorder="little")
    elif length_data <= 0xFF:
        return OP_PUSHDATA1 + length_data.to_bytes(
            1, byteorder="little"
        )  # OP_PUSHDATA1 format
    elif length_data <= 0xFFFF:
        return OP_PUSHDATA2 + length_data.to_bytes(
            2, byteorder="little"
        )  # OP_PUSHDATA2 format
    else:
        return OP_PUSHDATA4 + length_data.to_bytes(
            4, byteorder="little"
        )  # OP_PUSHDATA4 format


def sanitize_tx_data(
    unspents,
    outputs,
    fee,
    leftover,
    combine=True,
    message=None,
    compressed=True,
    custom_pushdata=False,
):
    """
    sanitize_tx_data()

    fee is in satoshis per byte.
    """

    outputs = outputs.copy()

    for i, output in enumerate(outputs):
        dest, amount, currency = output
        outputs[i] = (dest, currency_to_satoshi_cached(amount, currency))

    if not unspents:
        raise ValueError("Transactions must have at least one unspent.")

    # Temporary storage so all outputs precede messages.
    messages = []
    total_op_return_size = 0

    if message and (custom_pushdata is False):
        try:
            message = message.encode("utf-8")
        except AttributeError:
            pass  # assume message is already a bytes-like object

        message_chunks = chunk_data(message, MESSAGE_LIMIT)

        for message in message_chunks:
            messages.append((message, 0))
            total_op_return_size += get_op_return_size(message, custom_pushdata=False)

    elif message and (custom_pushdata is True):
        if len(message) >= 220:
            # FIXME add capability for >220 bytes for custom pushdata elements
            raise ValueError("Currently cannot exceed 220 bytes with custom_pushdata.")
        else:
            messages.append((message, 0))
            total_op_return_size += get_op_return_size(message, custom_pushdata=True)

    # Include return address in fee estimate.
    total_in = 0
    num_outputs = len(outputs) + 1
    sum_outputs = sum(out[1] for out in outputs)

    if combine:
        # calculated_fee is in total satoshis.
        calculated_fee = estimate_tx_fee(
            len(unspents), num_outputs, fee, compressed, total_op_return_size
        )
        total_out = sum_outputs + calculated_fee
        unspents = unspents.copy()
        total_in += sum(unspent.amount for unspent in unspents)

    else:
        unspents = sorted(unspents, key=lambda x: x.amount)

        index = 0

        for index, unspent in enumerate(unspents):
            total_in += unspent.amount
            calculated_fee = estimate_tx_fee(
                len(unspents[: index + 1]),
                num_outputs,
                fee,
                compressed,
                total_op_return_size,
            )
            total_out = sum_outputs + calculated_fee

            if total_in >= total_out:
                break

        unspents[:] = unspents[: index + 1]

    remaining = total_in - total_out

    if remaining > 0:
        outputs.append((leftover, remaining))
    elif remaining < 0:
        raise InsufficientFunds(
            f"Balance {total_in} is less than " f"{total_out} (including fee)."
        )

    outputs.extend(messages)

    return unspents, outputs


def construct_output_block(outputs, custom_pushdata=False):

    output_block = b""

    for data in outputs:
        dest, amount = data

        # Real recipient
        if amount:
            script = (
                OP_DUP
                + OP_HASH160
                + OP_PUSH_20
                + address_to_public_key_hash(dest)
                + OP_EQUALVERIFY
                + OP_CHECKSIG
            )

            output_block += amount.to_bytes(8, byteorder="little")

        # Blockchain storage
        else:
            if custom_pushdata is False:
                script = OP_RETURN + get_op_pushdata_code(dest) + dest

                output_block += b"\x00\x00\x00\x00\x00\x00\x00\x00"

            elif custom_pushdata is True:
                # manual control over number of bytes in each batch of pushdata
                if type(dest) != bytes:
                    raise TypeError("custom pushdata must be of type: bytes")
                else:
                    script = OP_RETURN + dest

                output_block += b"\x00\x00\x00\x00\x00\x00\x00\x00"

        # Script length in wiki is "Var_int" but there's a note of "modern BitcoinQT" using a more compact "CVarInt"
        # CVarInt is what I believe we have here - No changes made. If incorrect - only breaks if 220 byte limit is increased.
        output_block += int_to_unknown_bytes(len(script), byteorder="little")
        output_block += script

    return output_block


def construct_input_block(inputs):

    input_block = b""
    sequence = SEQUENCE

    for txin in inputs:
        input_block += (
            txin.txid + txin.txindex + txin.script_len + txin.script + sequence
        )

    return input_block


def create_p2pkh_transaction(private_key, unspents, outputs, custom_pushdata=False):

    public_key = private_key.public_key
    public_key_len = len(public_key).to_bytes(1, byteorder="little")

    scriptCode = private_key.scriptcode
    scriptCode_len = int_to_varint(len(scriptCode))

    version = VERSION_1
    lock_time = LOCK_TIME
    # sequence = SEQUENCE
    hash_type = HASH_TYPE
    input_count = int_to_unknown_bytes(len(unspents), byteorder="little")
    output_count = int_to_unknown_bytes(len(outputs), byteorder="little")

    output_block = construct_output_block(outputs, custom_pushdata=custom_pushdata)

    # Optimize for speed, not memory, by pre-computing values.
    inputs = []
    for unspent in unspents:
        script = hex_to_bytes(unspent.script)
        script_len = int_to_unknown_bytes(len(script), byteorder="little")
        txid = hex_to_bytes(unspent.txid)[::-1]
        txindex = unspent.txindex.to_bytes(4, byteorder="little")
        amount = unspent.amount.to_bytes(8, byteorder="little")

        inputs.append(TxIn(script, script_len, txid, txindex, amount))

    hashPrevouts = double_sha256(b"".join([i.txid + i.txindex for i in inputs]))
    hashSequence = double_sha256(b"".join([SEQUENCE for i in inputs]))
    hashOutputs = double_sha256(output_block)

    # scriptCode_len is part of the script.
    for i, txin in enumerate(inputs):
        to_be_hashed = (
            version
            + hashPrevouts
            + hashSequence
            + txin.txid
            + txin.txindex
            + scriptCode_len
            + scriptCode
            + txin.amount
            + SEQUENCE
            + hashOutputs
            + lock_time
            + hash_type
        )
        hashed = sha256(to_be_hashed)  # BIP-143: Used for Bitcoin Cash

        # signature = private_key.sign(hashed) + b'\x01'
        signature = private_key.sign(hashed) + b"\x41"

        script_sig = (
            len(signature).to_bytes(1, byteorder="little")
            + signature
            + public_key_len
            + public_key
        )

        inputs[i].script = script_sig
        inputs[i].script_len = int_to_unknown_bytes(len(script_sig), byteorder="little")

    return bytes_to_hex(
        version
        + input_count
        + construct_input_block(inputs)
        + output_count
        + output_block
        + lock_time
    )


from coincurve import verify_signature as _vs

from bitcash.base58 import b58decode_check, b58encode_check
from bitcash.cashaddress import Address
from bitcash.crypto import ripemd160_sha256
from bitcash.curve import x_to_y
from bitcash.exceptions import InvalidAddress

MAIN_PUBKEY_HASH = b"\x00"
MAIN_SCRIPT_HASH = b"\x05"
MAIN_PRIVATE_KEY = b"\x80"
MAIN_BIP32_PUBKEY = b"\x04\x88\xb2\x1e"
MAIN_BIP32_PRIVKEY = b"\x04\x88\xad\xe4"

TEST_PUBKEY_HASH = b"\x6f"
TEST_SCRIPT_HASH = b"\xc4"
TEST_PRIVATE_KEY = b"\xef"
TEST_BIP32_PUBKEY = b"\x045\x87\xcf"
TEST_BIP32_PRIVKEY = b"\x045\x83\x94"

REGTEST_PUBKEY_HASH = TEST_PUBKEY_HASH
REGTEST_SCRIPT_HASH = TEST_SCRIPT_HASH
REGTEST_PRIVATE_KEY = TEST_PRIVATE_KEY
REGTEST_BIP32_PUBKEY = TEST_BIP32_PUBKEY
REGTEST_BIP32_PRIVKEY = TEST_BIP32_PRIVKEY

PUBLIC_KEY_UNCOMPRESSED = b"\x04"
PUBLIC_KEY_COMPRESSED_EVEN_Y = b"\x02"
PUBLIC_KEY_COMPRESSED_ODD_Y = b"\x03"
PRIVATE_KEY_COMPRESSED_PUBKEY = b"\x01"


def verify_sig(signature, data, public_key):
    """Verifies some data was signed by the owner of a public key.

    :param signature: The signature to verify.
    :type signature: ``bytes``
    :param data: The data that was supposedly signed.
    :type data: ``bytes``
    :param public_key: The public key.
    :type public_key: ``bytes``
    :returns: ``True`` if all checks pass, ``False`` otherwise.
    """
    return _vs(signature, data, public_key)


def address_to_public_key_hash(address):
    address = Address.from_string(address)

    if "P2PKH" not in address.version:
        # Bitcash currently only has support for P2PKH transaction types
        # P2SH and others will raise ValueError
        raise ValueError("Bitcash currently only supports P2PKH addresses")

    return bytes(address.payload)


def bytes_to_wif(private_key, version="main", compressed=False):

    if version == "test":
        prefix = TEST_PRIVATE_KEY
    elif version == "regtest":
        prefix = REGTEST_PRIVATE_KEY
    else:
        prefix = MAIN_PRIVATE_KEY

    if compressed:
        suffix = PRIVATE_KEY_COMPRESSED_PUBKEY
    else:
        suffix = b""

    private_key = prefix + private_key + suffix

    return b58encode_check(private_key)


def wif_to_bytes(wif, regtest=False):

    private_key = b58decode_check(wif)

    version = private_key[:1]

    if version == MAIN_PRIVATE_KEY:
        version = "main"
    elif version == TEST_PRIVATE_KEY:
        # Regtest and testnet WIF formats are identical, so we
        # check the 'regtest' flag and manually set the version
        if regtest:
            version = "regtest"
        else:
            version = "test"
    else:
        raise ValueError(
            f"{version} does not correspond to a mainnet,"
            f"testnet, nor regtest address."
        )

    # Remove version byte and, if present, compression flag.
    if len(wif) == 52 and private_key[-1] == 1:
        private_key, compressed = private_key[1:-1], True
    else:
        private_key, compressed = private_key[1:], False

    return private_key, compressed, version


def wif_checksum_check(wif):

    try:
        decoded = b58decode_check(wif)
    except ValueError:
        return False

    if decoded[:1] in (MAIN_PRIVATE_KEY, TEST_PRIVATE_KEY, REGTEST_PRIVATE_KEY):
        return True

    return False


def public_key_to_address(public_key, version="main"):
    # Currently Bitcash only support P2PKH (not P2SH)
    VERSIONS = {"main": "P2PKH", "test": "P2PKH-TESTNET", "regtest": "P2PKH-REGTEST"}

    try:
        version = VERSIONS[version]
    except:
        raise ValueError("Invalid version: {}".format(version))
    # 33 bytes compressed, 65 uncompressed.
    length = len(public_key)
    if length not in (33, 65):
        raise ValueError(f"{length} is an invalid length for a public key.")

    payload = list(ripemd160_sha256(public_key))
    address = Address(payload=payload, version=version)
    return address.cash_address()


def public_key_to_coords(public_key):

    length = len(public_key)

    if length == 33:
        flag, x = int.from_bytes(public_key[:1], "big"), int.from_bytes(
            public_key[1:], "big"
        )
        y = x_to_y(x, flag & 1)
    elif length == 65:
        x, y = int.from_bytes(public_key[1:33], "big"), int.from_bytes(
            public_key[33:], "big"
        )
    else:
        raise ValueError(f"{length} is an invalid length for a public key.")

    return x, y


def coords_to_public_key(x, y, compressed=True):

    if compressed:
        y = PUBLIC_KEY_COMPRESSED_ODD_Y if y & 1 else PUBLIC_KEY_COMPRESSED_EVEN_Y
        return y + x.to_bytes(32, "big")

    return PUBLIC_KEY_UNCOMPRESSED + x.to_bytes(32, "big") + y.to_bytes(32, "big")


def point_to_public_key(point, compressed=True):
    return coords_to_public_key(point.x, point.y, compressed)


from bitcash.exceptions import InvalidAddress

CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l"


def polymod(values):
    chk = 1
    generator = [
        (0x01, 0x98F2BC8E61),
        (0x02, 0x79B76D99E2),
        (0x04, 0xF33E5FB3C4),
        (0x08, 0xAE2EABE2A8),
        (0x10, 0x1E4F43E470),
    ]
    for value in values:
        top = chk >> 35
        chk = ((chk & 0x07FFFFFFFF) << 5) ^ value
        for i in generator:
            if top & i[0] != 0:
                chk ^= i[1]
    return chk ^ 1


def calculate_checksum(prefix, payload):
    poly = polymod(prefix_expand(prefix) + payload + [0, 0, 0, 0, 0, 0, 0, 0])
    out = list()
    for i in range(8):
        out.append((poly >> 5 * (7 - i)) & 0x1F)
    return out


def verify_checksum(prefix, payload):
    return polymod(prefix_expand(prefix) + payload) == 0


def b32decode(inputs):
    out = list()
    for letter in inputs:
        out.append(CHARSET.find(letter))
    return out


def b32encode(inputs):
    out = ""
    for char_code in inputs:
        out += CHARSET[char_code]
    return out


def convertbits(data, frombits, tobits, pad=True):
    acc = 0
    bits = 0
    ret = []
    maxv = (1 << tobits) - 1
    max_acc = (1 << (frombits + tobits - 1)) - 1
    for value in data:
        if value < 0 or (value >> frombits):
            return None
        acc = ((acc << frombits) | value) & max_acc
        bits += frombits
        while bits >= tobits:
            bits -= tobits
            ret.append((acc >> bits) & maxv)
    if pad:
        if bits:
            ret.append((acc << (tobits - bits)) & maxv)
    elif bits >= frombits or ((acc << (tobits - bits)) & maxv):
        return None
    return ret


def prefix_expand(prefix):
    return [ord(x) & 0x1F for x in prefix] + [0]


class Address:
    VERSIONS = {
        "P2SH": {"prefix": "bitcoincash", "version_bit": 8, "network": "mainnet"},
        "P2PKH": {"prefix": "bitcoincash", "version_bit": 0, "network": "mainnet"},
        "P2SH-TESTNET": {"prefix": "bchtest", "version_bit": 8, "network": "testnet"},
        "P2PKH-TESTNET": {"prefix": "bchtest", "version_bit": 0, "network": "testnet"},
        "P2SH-REGTEST": {"prefix": "bchreg", "version_bit": 8, "network": "regtest"},
        "P2PKH-REGTEST": {"prefix": "bchreg", "version_bit": 0, "network": "regtest"},
    }

    VERSION_SUFFIXES = {"bitcoincash": "", "bchtest": "-TESTNET", "bchreg": "-REGTEST"}

    ADDRESS_TYPES = {0: "P2PKH", 8: "P2SH"}

    def __init__(self, version, payload):
        if not version in Address.VERSIONS:
            raise ValueError("Invalid address version provided")

        self.version = version
        self.payload = payload
        self.prefix = Address.VERSIONS[self.version]["prefix"]

    def __str__(self):
        return (
            f"version: {self.version}\npayload: {self.payload}\nprefix: {self.prefix}"
        )

    def cash_address(self):
        version_bit = Address.VERSIONS[self.version]["version_bit"]
        payload = [version_bit] + self.payload
        payload = convertbits(payload, 8, 5)
        checksum = calculate_checksum(self.prefix, payload)
        return self.prefix + ":" + b32encode(payload + checksum)

    @staticmethod
    def from_string(address):
        try:
            address = str(address)
        except Exception:
            raise InvalidAddress("Expected string as input")

        if address.upper() != address and address.lower() != address:
            raise InvalidAddress(
                "Cash address contains uppercase and lowercase characters"
            )

        address = address.lower()
        colon_count = address.count(":")
        if colon_count == 0:
            raise InvalidAddress("Cash address is missing prefix")
        if colon_count > 1:
            raise InvalidAddress("Cash address contains more than one colon character")

        prefix, base32string = address.split(":")
        decoded = b32decode(base32string)

        if not verify_checksum(prefix, decoded):
            raise InvalidAddress(
                "Bad cash address checksum for address {}".format(address)
            )
        converted = convertbits(decoded, 5, 8)

        try:
            version = Address.ADDRESS_TYPES[converted[0]]
        except Exception:
            raise InvalidAddress("Could not determine address version")

        version += Address.VERSION_SUFFIXES[prefix]

        payload = converted[1:-6]
        return Address(version, payload)


class InsufficientFunds(Exception):
    pass


class InvalidAddress(Exception):
    pass


class InvalidNetwork(Exception):
    pass


class InvalidEndpointURLProvided(Exception):
    pass


from collections import deque

from bitcash.crypto import double_sha256_checksum
from bitcash.utils import int_to_unknown_bytes

BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
BASE58_ALPHABET_LIST = list(BASE58_ALPHABET)
BASE58_ALPHABET_INDEX = {char: index for index, char in enumerate(BASE58_ALPHABET)}


def b58encode(bytestr):

    alphabet = BASE58_ALPHABET_LIST

    encoded = deque()
    append = encoded.appendleft
    _divmod = divmod

    num = int.from_bytes(bytestr, "big")

    while num > 0:
        num, rem = _divmod(num, 58)
        append(alphabet[rem])

    encoded = "".join(encoded)

    pad = 0
    for byte in bytestr:
        if byte == 0:
            pad += 1
        else:
            break

    return "1" * pad + encoded


def b58encode_check(bytestr):
    return b58encode(bytestr + double_sha256_checksum(bytestr))


def b58decode(string):

    alphabet_index = BASE58_ALPHABET_INDEX

    num = 0

    try:
        for char in string:
            num *= 58
            num += alphabet_index[char]
    except KeyError:
        raise ValueError(
            f'"{char}" is an invalid base58 encoded ' "character."
        ) from None

    bytestr = int_to_unknown_bytes(num)

    pad = 0
    for char in string:
        if char == "1":
            pad += 1
        else:
            break

    return b"\x00" * pad + bytestr


def b58decode_check(string):

    decoded = b58decode(string)
    shortened = decoded[:-4]
    decoded_checksum = decoded[-4:]
    hash_checksum = double_sha256_checksum(shortened)

    if decoded_checksum != hash_checksum:
        raise ValueError(
            f"Decoded checksum {decoded_checksum} "
            f'derived from "{string}" is not equal '
            f"to hash checksum {hash_checksum}."
        )

    return shortened

import requests
from decimal import Decimal
from bitcash.exceptions import InvalidEndpointURLProvided
from bitcash.network import currency_to_satoshi
from bitcash.network.meta import Unspent
from bitcash.network.transaction import Transaction, TxPart

# This class is the interface for Bitcash to interact with
# Bitcoin.com based RESTful interfaces.

BCH_TO_SAT_MULTIPLIER = 100000000
# TODO: Refactor constant above into a 'constants.py' file


class BitcoinDotComAPI:
    """ rest.bitcoin.com API """

    def __init__(self, network_endpoint: str):
        try:
            assert isinstance(network_endpoint, str)
            assert network_endpoint[:4] == "http"
            assert network_endpoint[-4:] == "/v2/"
        except AssertionError:
            raise InvalidEndpointURLProvided(f"Provided endpoint '{network_endpoint}' is not a valid URL for a Bitcoin.com-based REST endpoint")

        self.network_endpoint = network_endpoint

    # Default endpoints to use for this interface
    DEFAULT_ENDPOINTS = {
        "mainnet": ["https://rest.bch.actorforth.org/v2/",
                    "https://rest.bitcoin.com/v2/"],
        "testnet": ["https://trest.bitcoin.com/v2/"],
        "regtest": ["http://localhost:12500/v2/"],
    }

    # Paths specific to rest.bitcoin.com-based endpoints
    PATHS = {
        "unspent": "address/utxo/{}",
        "address": "address/details/{}",
        "raw-tx": "rawtransactions/sendRawTransaction/{}",
        "tx-details": "transaction/details/{}",
    }

    @classmethod
    def get_default_endpoints(cls, network):
        return cls.DEFAULT_ENDPOINTS[network]

    def make_endpoint_url(self, path):
        return self.network_endpoint + self.PATHS[path]

    def get_balance(self, address, *args, **kwargs):
        api_url = self.make_endpoint_url("address").format(address)
        r = requests.get(api_url, *args, **kwargs)
        r.raise_for_status()
        data = r.json()
        return data["balanceSat"] + data["unconfirmedBalanceSat"]

    def get_transactions(self, address, *args, **kwargs):
        api_url = self.make_endpoint_url("address").format(address)
        r = requests.get(api_url, *args, **kwargs)
        r.raise_for_status()
        return r.json()["transactions"]

    def get_transaction(self, txid, *args, **kwargs):
        api_url = self.make_endpoint_url("tx-details").format(txid)
        r = requests.get(api_url, *args, **kwargs)
        r.raise_for_status()
        response = r.json(parse_float=Decimal)

        tx = Transaction(
            response["txid"],
            response["blockheight"],
            (Decimal(response["valueIn"]) * BCH_TO_SAT_MULTIPLIER).normalize(),
            (Decimal(response["valueOut"]) * BCH_TO_SAT_MULTIPLIER).normalize(),
            (Decimal(response["fees"]) * BCH_TO_SAT_MULTIPLIER).normalize(),
        )

        for txin in response["vin"]:
            part = TxPart(txin["cashAddress"], txin["value"], txin["scriptSig"]["asm"])
            tx.add_input(part)

        for txout in response["vout"]:
            addr = None
            if (
                "cashAddrs" in txout["scriptPubKey"]
                and txout["scriptPubKey"]["cashAddrs"] is not None
            ):
                addr = txout["scriptPubKey"]["cashAddrs"][0]

            part = TxPart(
                addr,
                (Decimal(txout["value"]) * BCH_TO_SAT_MULTIPLIER).normalize(),
                txout["scriptPubKey"]["asm"],
            )
            tx.add_output(part)

        return tx

    def get_tx_amount(self, txid, txindex, *args, **kwargs):
        api_url = self.make_endpoint_url("tx-details").format(txid)
        r = requests.get(api_url, *args, **kwargs)
        r.raise_for_status()
        response = r.json(parse_float=Decimal)
        return (
            Decimal(response["vout"][txindex]["value"]) * BCH_TO_SAT_MULTIPLIER
        ).normalize()

    def get_unspent(self, address, *args, **kwargs):
        api_url = self.make_endpoint_url("unspent").format(address)
        r = requests.get(api_url, *args, **kwargs)
        r.raise_for_status()
        return [
            Unspent(
                currency_to_satoshi(tx["amount"], "bch"),
                tx["confirmations"],
                r.json()["scriptPubKey"],
                tx["txid"],
                tx["vout"],
            )
            for tx in r.json()["utxos"]
        ]

    def get_raw_transaction(self, txid, *args, **kwargs):
        api_url = self.make_endpoint_url("tx-details").format(txid)
        r = requests.get(api_url, *args, **kwargs)
        r.raise_for_status()
        return r.json(parse_float=Decimal)

    def broadcast_tx(self, tx_hex, *args, **kwargs):  # pragma: no cover
        api_url = self.make_endpoint_url("raw-tx").format(tx_hex)
        r = requests.get(api_url, *args, **kwargs)
        return r.status_code == 200






Metadata-Version: 2.1
Name: bitcoinpython
Version: 0.5.3
Summary: Bitcoin Cash for Python
Home-page: https://github.com/merc1er/bitcoinpython
Author: Corentin Mercier
Author-email: corentin@mercier.link
Maintainer: Corentin Mercier
Maintainer-email: corentin@mercier.link
License: MIT
Download-URL: https://github.com/merc1er/bitcoinpython/tarball/0.5.3
Description: <p align="center">
          <a href="https://blurry.cash">
            <img src="https://github.com/merc1er/bitcoinpython/raw/master/docs/source/_static/bitcoinpython.png" width="90" height="90">
          </a>
        </p>
        
        <h3 align="center">BitcoinPython</h3>
        <h4 align="center">Bitcoin Cash Python library</h4>
        
        <p align="center">
          <img src="https://img.shields.io/pypi/v/bitcoinpython.svg?style=flat-square" alt="BitcoinPython version">
          <img src="https://img.shields.io/pypi/pyversions/bitcoinpython.svg?style=flat-square" alt="Python Versions">
          <img src="https://travis-ci.org/merc1er/bitcoinpython.svg?branch=master" alt="Build status">
          <img src="https://img.shields.io/codecov/c/github/merc1er/bitcoinpython.svg?style=flat-square" alt="Code Coverage">
          <img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="MIT license">
        </p>
        
        ## Quickstart
        
        BitcoinPython is so easy to use, in fact, you can do this:
        
        ```python
        >>> from bitcoinpython import Key
        >>>
        >>> k = Key()
        >>> k.address
        'bitcoincash:qp0hamw9rpyllkmvd8047w9em3yt9fytsunyhutucx'
        >>>
        >>> k.get_balance('usd')
        '2'
        >>>
        >>> # Let's donate a dollar to CoinSpice.io
        >>> outputs = [
        >>>     ('bitcoincash:qz69e5y8yrtujhsyht7q9xq5zhu4mrklmv0ap7tq5f', 1, 'usd'),
        >>>     # you can add more recipients here
        >>> ]
        >>>
        >>> k.send(outputs)
        '6aea7b1c687d976644a430a87e34c93a8a7fd52d77c30e9cc247fc8228b749ff'
        ```
        
        Done ✅ Here is the transaction:  
        https://explorer.bitcoin.com/bch/tx/6aea7b1c687d976644a430a87e34c93a8a7fd52d77c30e9cc247fc8228b749ff
        
        ## Features
        
        - Python's fastest available implementation (100x faster than closest library)
        - Seamless integration with existing server setups
        - Supports keys in cold storage
        - Fully supports 25 different currencies
        - First class support for storing data in the blockchain
        - Deterministic signatures via RFC 6979
        - Exchange rate API, with optional caching
        - Optimal transaction fee API, with optional caching
        - Compressed public keys by default
        - Multiple representations of private keys; WIF, PEM, DER, etc.
        - Standard P2PKH transactions
        
        ## Installation
        
        BitcoinPython is distributed on `PyPI` and is available on Linux/macOS and Windows with Python 3.5+
        
        ```shell
        $ pip3 install bitcoinpython
        ```
        
        ## Credits
        
        Forked from Ofek's Bit and Teran McKinney's bitcash
        
        - [ofek](https://github.com/ofek/bit) for the original bit codebase
        - [teran-mckinney](https://github.com/sporestack/bitcash) for the bitcash fork
        - [bjarnemagnussen](https://github.com/bjarnemagnussen/bit/tree/segwit) for his segwit code for the necessary BIP-143 support
        
Keywords: bitcoin,bitcoincash,cryptocurrency,payments,tools,wallet
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Description-Content-Type: text/markdown
Provides-Extra: cache
Provides-Extra: cli


import sys
import time
from multiprocessing import Event, Process, Queue, Value, cpu_count

from coincurve import Context

from bit.base58 import BASE58_ALPHABET, b58encode_check
from bit.crypto import ECPrivateKey, ripemd160_sha256
from bit.format import bytes_to_wif, public_key_to_address


def generate_key_address_pair():  # pragma: no cover
    private_key = ECPrivateKey()
    address = public_key_to_address(private_key.public_key.format())
    return bytes_to_wif(private_key.secret), address


def generate_matching_address(prefix, cores='all'):  # pragma: no cover

    for char in prefix:
        if char not in BASE58_ALPHABET:
            raise ValueError('{} is an invalid base58 encoded character.'.format(char))

    if not prefix:
        return generate_key_address_pair()
    elif not prefix.startswith('1'):
        prefix = '1' + prefix

    available_cores = cpu_count()

    if cores == 'all':
        cores = available_cores
    elif 0 < int(cores) <= available_cores:
        cores = int(cores)
    else:
        cores = 1

    counter = Value('i')
    match = Event()
    queue = Queue()

    workers = []
    for _ in range(cores):
        workers.append(Process(target=generate_key_address_pairs, args=(prefix, counter, match, queue)))

    for worker in workers:
        worker.start()

    keys_generated = 0
    while True:
        time.sleep(1)
        current = counter.value
        if current == keys_generated:
            if current == 0:
                continue
            break
        keys_generated = current
        s = 'Keys generated: {}\r'.format(keys_generated)
        sys.stdout.write(s)
        sys.stdout.flush()

    private_key, address = queue.get()
    print('\n\n' 'WIF: {}\n' 'Address: {}'.format(bytes_to_wif(private_key), address))


def generate_key_address_pairs(prefix, counter, match, queue):  # pragma: no cover

    context = Context()

    while True:
        if match.is_set():
            return

        with counter.get_lock():
            counter.value += 1

        private_key = ECPrivateKey(context=context)
        address = b58encode_check(b'\x00' + ripemd160_sha256(private_key.public_key.format()))

        if address.startswith(prefix):
            match.set()
            queue.put_nowait((private_key.secret, address))
            return


This XML file does not appear to have any style information associated with it. The document tree is shown below.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<packaging>jar</packaging>
<name>Jython</name>
<version>2.7.2</version>
<url>https://www.jython.org/</url>
<description> Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform. </description>
<licenses>
<license>
<name>Jython Software License</name>
<url>https://www.jython.org/Project/license.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:hg:https://hg.python.org/jython</connection>
<developerConnection>scm:hg:ssh://hg@hg.python.org/jython</developerConnection>
<url>https://hg.python.org/jython</url>
</scm>
<developers>
<developer>
<id>jython</id>
<name>Jython Developers</name>
<email>jython-dev@lists.sourceforge.net</email>
</developer>
</developers>
</project>


https://www.gaiaec.org/

  • Baby636

    Flipstarter.cash

    &

    krise636

    Flipstarter.cash

    Invite your team

    Add members to this project and start collaborating with your team.

    The repository for this project is empty

    You can get started by cloning the repository or start adding files to it with one of the following options.

    Command line instructions

    You can also upload existing files from your computer using the instructions below.

    flipstarter-too

    Git global setup

    git config --global user.name "KRISTOF kähler"

    git config --global user.email "krise636@gmail.com"

    Create a new repository

    git clone https://gitlab.com/Flipstarter.cash/flipstarter.cash.git

    cd flipstarter.cash

    git switch -c main

    touch README.md

    git add README.md

    git commit -m "add README"

    git push -u origin main

    Push an existing folder

    cd existing_folder

    git init --initial-branch=main

    git remote add origin https://gitlab.com/Flipstarter.cash/flipstarter.cash.git

    git add .

    git commit -m "Initial commit"

    git push -u origin main

    Push an existing Git repository

    cd existing_repo

    git remote rename origin old-origin

    git remote add origin https://gitlab.com/Flipstarter.cash/flipstarter.cash.git

    git push -u origin --all

    git push -u origin --tags

    https://gitlab.com/krise6361/flipstarter.cash

    <!DOCTYPE html>

    <!-- saved from url=(0028)https://causes.cash/discover -->

    <html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#cff09e"><meta name="description" content="An uncensorable funding platform for radical creators and unstoppable service providers."><title>Causes Cash — Uncensorable Funding For Radical Creators</title><link rel="icon" href="https://causes.cash/favicon.ico"><link rel="stylesheet" href="./Causes Cash — Uncensorable Funding For Radical Creators_files/css"><link rel="stylesheet" href="./Causes Cash — Uncensorable Funding For Radical Creators_files/materialdesignicons.min.css"><meta property="og:url" content="https://causes.cash"><meta property="og:title" content="Causes Cash"><meta property="og:type" content="website"><meta property="og:description" content="An uncensorable funding platform for radical creators and unstoppable service providers."><meta property="og:image" content="https://causes.cash/poster.jpg?1580211230"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Causes Cash"><meta name="twitter:description" content="An uncensorable funding platform for radical creators and unstoppable service providers."><meta name="twitter:image" content="https://causes.cash/poster.jpg?1580211230"><link href="./Causes Cash — Uncensorable Funding For Radical Creators_files/app.8b2d6192.css" rel="preload" as="style"><link href="./Causes Cash — Uncensorable Funding For Radical Creators_files/chunk-vendors.ea466b6f.css" rel="preload" as="style"><link href="./Causes Cash — Uncensorable Funding For Radical Creators_files/app.69a6e08b.js.Download" rel="preload" as="script"><link href="./Causes Cash — Uncensorable Funding For Radical Creators_files/chunk-vendors.cd276a7d.js.Download" rel="preload" as="script"><link href="./Causes Cash — Uncensorable Funding For Radical Creators_files/chunk-vendors.ea466b6f.css" rel="stylesheet"><link href="./Causes Cash — Uncensorable Funding For Radical Creators_files/app.8b2d6192.css" rel="stylesheet"><style>.swal2-popup.swal2-toast{flex-direction:row;align-items:center;width:auto;padding:.625em;overflow-y:hidden;background:#fff;box-shadow:0 0 .625em #d9d9d9}.swal2-popup.swal2-toast .swal2-header{flex-direction:row;padding:0}.swal2-popup.swal2-toast .swal2-title{flex-grow:1;justify-content:flex-start;margin:0 .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{position:static;width:.8em;height:.8em;line-height:.8}.swal2-popup.swal2-toast .swal2-content{justify-content:flex-start;padding:0;font-size:1em}.swal2-popup.swal2-toast .swal2-icon{width:2em;min-width:2em;height:2em;margin:0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:700}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{font-size:.25em}}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{flex-basis:auto!important;width:auto;height:auto;margin:0 .3125em;padding:0}.swal2-popup.swal2-toast .swal2-styled{margin:0 .3125em;padding:.3125em .625em;font-size:1em}.swal2-popup.swal2-toast .swal2-styled:focus{box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.8em;left:-.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-toast-animate-success-line-tip .75s;animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-toast-animate-success-line-long .75s;animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{-webkit-animation:swal2-toast-show .5s;animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{-webkit-animation:swal2-toast-hide .1s forwards;animation:swal2-toast-hide .1s forwards}.swal2-container{display:flex;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;flex-direction:row;align-items:center;justify-content:center;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:0 0!important}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-bottom-end>:first-child,.swal2-container.swal2-bottom-left>:first-child,.swal2-container.swal2-bottom-right>:first-child,.swal2-container.swal2-bottom-start>:first-child,.swal2-container.swal2-bottom>:first-child{margin-top:auto}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-no-transition{transition:none!important}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen)>.swal2-modal{margin:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-container .swal2-modal{margin:0!important}}.swal2-popup{display:none;position:relative;box-sizing:border-box;flex-direction:column;justify-content:center;width:32em;max-width:100%;padding:1.25em;border:none;border-radius:.3125em;background:#fff;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-header{display:flex;flex-direction:column;align-items:center;padding:0 1.8em}.swal2-title{position:relative;max-width:100%;margin:0 0 .4em;padding:0;color:#595959;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:100%;margin:1.25em auto 0;padding:0 1.6em}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;-webkit-animation:swal2-rotate-loading 1.5s linear 0s infinite normal;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#3085d6 transparent #3085d6 transparent}.swal2-styled{margin:.3125em;padding:.625em 2em;box-shadow:none;font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#3085d6;color:#fff;font-size:1.0625em}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dd6b55;color:#fff;font-size:1.0625em}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#aaa;color:#fff;font-size:1.0625em}.swal2-styled:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 3px rgba(50,100,150,.4)}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1.25em 0 0;padding:1em 0 0;border-top:1px solid #eee;color:#545454;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;height:.25em;overflow:hidden;border-bottom-right-radius:.3125em;border-bottom-left-radius:.3125em}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:1.25em auto}.swal2-close{position:absolute;z-index:2;top:0;right:0;align-items:center;justify-content:center;width:1.2em;height:1.2em;padding:0;overflow:hidden;transition:color .1s ease-out;border:none;border-radius:0;background:0 0;color:#ccc;font-family:serif;font-size:2.5em;line-height:1.2;cursor:pointer}.swal2-close:hover{transform:none;background:0 0;color:#f27474}.swal2-close::-moz-focus-inner{border:0}.swal2-content{z-index:1;justify-content:center;margin:0;padding:0 1.6em;color:#545454;font-size:1.125em;font-weight:400;line-height:normal;text-align:center;word-wrap:break-word}.swal2-checkbox,.swal2-file,.swal2-input,.swal2-radio,.swal2-select,.swal2-textarea{margin:1em auto}.swal2-file,.swal2-input,.swal2-textarea{box-sizing:border-box;width:100%;transition:border-color .3s,box-shadow .3s;border:1px solid #d9d9d9;border-radius:.1875em;background:inherit;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);color:inherit;font-size:1.125em}.swal2-file.swal2-inputerror,.swal2-input.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-file:focus,.swal2-input:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:0;box-shadow:0 0 3px #c4e6f5}.swal2-file::-moz-placeholder,.swal2-input::-moz-placeholder,.swal2-textarea::-moz-placeholder{color:#ccc}.swal2-file:-ms-input-placeholder,.swal2-input:-ms-input-placeholder,.swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-file::-ms-input-placeholder,.swal2-input::-ms-input-placeholder,.swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-file::placeholder,.swal2-input::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em auto;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-input[type=number]{max-width:10em}.swal2-file{background:inherit;font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:inherit;color:inherit;font-size:1.125em}.swal2-checkbox,.swal2-radio{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-checkbox label,.swal2-radio label{margin:0 .6em;font-size:1.125em}.swal2-checkbox input,.swal2-radio input{margin:0 .4em}.swal2-validation-message{display:none;align-items:center;justify-content:center;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:1.25em auto 1.875em;border:.25em solid transparent;border-radius:50%;font-family:inherit;line-height:5em;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{-webkit-animation:swal2-animate-error-icon .5s;animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{-webkit-animation:swal2-animate-error-x-mark .5s;animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-.25em;left:-.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{-webkit-animation:swal2-animate-success-line-tip .75s;animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{-webkit-animation:swal2-animate-success-line-long .75s;animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{-webkit-animation:swal2-rotate-success-circular-line 4.25s ease-in;animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{align-items:center;margin:0 0 1.25em;padding:0;background:inherit;font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;width:2em;height:2em;border-radius:2em;background:#3085d6;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#3085d6}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;width:2.5em;height:.4em;margin:0 -1px;background:#3085d6}[class^=swal2]{-webkit-tap-highlight-color:transparent}.swal2-show{-webkit-animation:swal2-show .3s;animation:swal2-show .3s}.swal2-hide{-webkit-animation:swal2-hide .15s forwards;animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{right:auto;left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@-moz-document url-prefix(){.swal2-close:focus{outline:2px solid rgba(50,100,150,.4)}}@-webkit-keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@keyframes swal2-toast-show{0%{transform:translateY(-.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0)}}@-webkit-keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@-webkit-keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@-webkit-keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@-webkit-keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes swal2-show{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}100%{transform:scale(1)}}@-webkit-keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:0}}@-webkit-keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@-webkit-keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@-webkit-keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@-webkit-keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(.4);opacity:0}50%{margin-top:1.625em;transform:scale(.4);opacity:0}80%{margin-top:-.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@-webkit-keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0);opacity:1}}@-webkit-keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes swal2-rotate-loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto!important}body.swal2-no-backdrop .swal2-container{top:auto;right:auto;bottom:auto;left:auto;max-width:calc(100% - .625em * 2);background-color:transparent!important}body.swal2-no-backdrop .swal2-container>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop .swal2-container.swal2-top{top:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-top-left,body.swal2-no-backdrop .swal2-container.swal2-top-start{top:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-top-end,body.swal2-no-backdrop .swal2-container.swal2-top-right{top:0;right:0}body.swal2-no-backdrop .swal2-container.swal2-center{top:50%;left:50%;transform:translate(-50%,-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-left,body.swal2-no-backdrop .swal2-container.swal2-center-start{top:50%;left:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-center-end,body.swal2-no-backdrop .swal2-container.swal2-center-right{top:50%;right:0;transform:translateY(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom{bottom:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop .swal2-container.swal2-bottom-left,body.swal2-no-backdrop .swal2-container.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop .swal2-container.swal2-bottom-end,body.swal2-no-backdrop .swal2-container.swal2-bottom-right{right:0;bottom:0}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll!important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static!important}}body.swal2-toast-shown .swal2-container{background-color:transparent}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-left,body.swal2-toast-shown .swal2-container.swal2-top-start{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-left,body.swal2-toast-shown .swal2-container.swal2-center-start{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-left,body.swal2-toast-shown .swal2-container.swal2-bottom-start{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}body.swal2-toast-column .swal2-toast{flex-direction:column;align-items:stretch}body.swal2-toast-column .swal2-toast .swal2-actions{flex:1;align-self:stretch;height:2.2em;margin-top:.3125em}body.swal2-toast-column .swal2-toast .swal2-loading{justify-content:center}body.swal2-toast-column .swal2-toast .swal2-input{height:2em;margin:.3125em auto;font-size:1em}body.swal2-toast-column .swal2-toast .swal2-validation-message{font-size:1em}</style><style type="text/css" id="vuetify-theme-stylesheet">.v-application a { color: #1976d2; }

    .v-application .primary {

    background-color: #1976d2 !important;

    border-color: #1976d2 !important;

    }

    .v-application .primary--text {

    color: #1976d2 !important;

    caret-color: #1976d2 !important;

    }

    .v-application .primary.lighten-5 {

    background-color: #c7fdff !important;

    border-color: #c7fdff !important;

    }

    .v-application .primary--text.text--lighten-5 {

    color: #c7fdff !important;

    caret-color: #c7fdff !important;

    }

    .v-application .primary.lighten-4 {

    background-color: #a8e0ff !important;

    border-color: #a8e0ff !important;

    }

    .v-application .primary--text.text--lighten-4 {

    color: #a8e0ff !important;

    caret-color: #a8e0ff !important;

    }

    .v-application .primary.lighten-3 {

    background-color: #8ac5ff !important;

    border-color: #8ac5ff !important;

    }

    .v-application .primary--text.text--lighten-3 {

    color: #8ac5ff !important;

    caret-color: #8ac5ff !important;

    }

    .v-application .primary.lighten-2 {

    background-color: #6aaaff !important;

    border-color: #6aaaff !important;

    }

    .v-application .primary--text.text--lighten-2 {

    color: #6aaaff !important;

    caret-color: #6aaaff !important;

    }

    .v-application .primary.lighten-1 {

    background-color: #488fef !important;

    border-color: #488fef !important;

    }

    .v-application .primary--text.text--lighten-1 {

    color: #488fef !important;

    caret-color: #488fef !important;

    }

    .v-application .primary.darken-1 {

    background-color: #005eb6 !important;

    border-color: #005eb6 !important;

    }

    .v-application .primary--text.text--darken-1 {

    color: #005eb6 !important;

    caret-color: #005eb6 !important;

    }

    .v-application .primary.darken-2 {

    background-color: #00479b !important;

    border-color: #00479b !important;

    }

    .v-application .primary--text.text--darken-2 {

    color: #00479b !important;

    caret-color: #00479b !important;

    }

    .v-application .primary.darken-3 {

    background-color: #003180 !important;

    border-color: #003180 !important;

    }

    .v-application .primary--text.text--darken-3 {

    color: #003180 !important;

    caret-color: #003180 !important;

    }

    .v-application .primary.darken-4 {

    background-color: #001e67 !important;

    border-color: #001e67 !important;

    }

    .v-application .primary--text.text--darken-4 {

    color: #001e67 !important;

    caret-color: #001e67 !important;

    }

    .v-application .secondary {

    background-color: #424242 !important;

    border-color: #424242 !important;

    }

    .v-application .secondary--text {

    color: #424242 !important;

    caret-color: #424242 !important;

    }

    .v-application .secondary.lighten-5 {

    background-color: #c1c1c1 !important;

    border-color: #c1c1c1 !important;

    }

    .v-application .secondary--text.text--lighten-5 {

    color: #c1c1c1 !important;

    caret-color: #c1c1c1 !important;

    }

    .v-application .secondary.lighten-4 {

    background-color: #a6a6a6 !important;

    border-color: #a6a6a6 !important;

    }

    .v-application .secondary--text.text--lighten-4 {

    color: #a6a6a6 !important;

    caret-color: #a6a6a6 !important;

    }

    .v-application .secondary.lighten-3 {

    background-color: #8b8b8b !important;

    border-color: #8b8b8b !important;

    }

    .v-application .secondary--text.text--lighten-3 {

    color: #8b8b8b !important;

    caret-color: #8b8b8b !important;

    }

    .v-application .secondary.lighten-2 {

    background-color: #727272 !important;

    border-color: #727272 !important;

    }

    .v-application .secondary--text.text--lighten-2 {

    color: #727272 !important;

    caret-color: #727272 !important;

    }

    .v-application .secondary.lighten-1 {

    background-color: #595959 !important;

    border-color: #595959 !important;

    }

    .v-application .secondary--text.text--lighten-1 {

    color: #595959 !important;

    caret-color: #595959 !important;

    }

    .v-application .secondary.darken-1 {

    background-color: #2c2c2c !important;

    border-color: #2c2c2c !important;

    }

    .v-application .secondary--text.text--darken-1 {

    color: #2c2c2c !important;

    caret-color: #2c2c2c !important;

    }

    .v-application .secondary.darken-2 {

    background-color: #171717 !important;

    border-color: #171717 !important;

    }

    .v-application .secondary--text.text--darken-2 {

    color: #171717 !important;

    caret-color: #171717 !important;

    }

    .v-application .secondary.darken-3 {

    background-color: #000000 !important;

    border-color: #000000 !important;

    }

    .v-application .secondary--text.text--darken-3 {

    color: #000000 !important;

    caret-color: #000000 !important;

    }

    .v-application .secondary.darken-4 {

    background-color: #000000 !important;

    border-color: #000000 !important;

    }

    .v-application .secondary--text.text--darken-4 {

    color: #000000 !important;

    caret-color: #000000 !important;

    }

    .v-application .accent {

    background-color: #82b1ff !important;

    border-color: #82b1ff !important;

    }

    .v-application .accent--text {

    color: #82b1ff !important;

    caret-color: #82b1ff !important;

    }

    .v-application .accent.lighten-5 {

    background-color: #ffffff !important;

    border-color: #ffffff !important;

    }

    .v-application .accent--text.text--lighten-5 {

    color: #ffffff !important;

    caret-color: #ffffff !important;

    }

    .v-application .accent.lighten-4 {

    background-color: #f8ffff !important;

    border-color: #f8ffff !important;

    }

    .v-application .accent--text.text--lighten-4 {

    color: #f8ffff !important;

    caret-color: #f8ffff !important;

    }

    .v-application .accent.lighten-3 {

    background-color: #daffff !important;

    border-color: #daffff !important;

    }

    .v-application .accent--text.text--lighten-3 {

    color: #daffff !important;

    caret-color: #daffff !important;

    }

    .v-application .accent.lighten-2 {

    background-color: #bce8ff !important;

    border-color: #bce8ff !important;

    }

    .v-application .accent--text.text--lighten-2 {

    color: #bce8ff !important;

    caret-color: #bce8ff !important;

    }

    .v-application .accent.lighten-1 {

    background-color: #9fccff !important;

    border-color: #9fccff !important;

    }

    .v-application .accent--text.text--lighten-1 {

    color: #9fccff !important;

    caret-color: #9fccff !important;

    }

    .v-application .accent.darken-1 {

    background-color: #6596e2 !important;

    border-color: #6596e2 !important;

    }

    .v-application .accent--text.text--darken-1 {

    color: #6596e2 !important;

    caret-color: #6596e2 !important;

    }

    .v-application .accent.darken-2 {

    background-color: #467dc6 !important;

    border-color: #467dc6 !important;

    }

    .v-application .accent--text.text--darken-2 {

    color: #467dc6 !important;

    caret-color: #467dc6 !important;

    }

    .v-application .accent.darken-3 {

    background-color: #2364aa !important;

    border-color: #2364aa !important;

    }

    .v-application .accent--text.text--darken-3 {

    color: #2364aa !important;

    caret-color: #2364aa !important;

    }

    .v-application .accent.darken-4 {

    background-color: #004c90 !important;

    border-color: #004c90 !important;

    }

    .v-application .accent--text.text--darken-4 {

    color: #004c90 !important;

    caret-color: #004c90 !important;

    }

    .v-application .error {

    background-color: #ff5252 !important;

    border-color: #ff5252 !important;

    }

    .v-application .error--text {

    color: #ff5252 !important;

    caret-color: #ff5252 !important;

    }

    .v-application .error.lighten-5 {

    background-color: #ffe4d5 !important;

    border-color: #ffe4d5 !important;

    }

    .v-application .error--text.text--lighten-5 {

    color: #ffe4d5 !important;

    caret-color: #ffe4d5 !important;

    }

    .v-application .error.lighten-4 {

    background-color: #ffc6b9 !important;

    border-color: #ffc6b9 !important;

    }

    .v-application .error--text.text--lighten-4 {

    color: #ffc6b9 !important;

    caret-color: #ffc6b9 !important;

    }

    .v-application .error.lighten-3 {

    background-color: #ffa99e !important;

    border-color: #ffa99e !important;

    }

    .v-application .error--text.text--lighten-3 {

    color: #ffa99e !important;

    caret-color: #ffa99e !important;

    }

    .v-application .error.lighten-2 {

    background-color: #ff8c84 !important;

    border-color: #ff8c84 !important;

    }

    .v-application .error--text.text--lighten-2 {

    color: #ff8c84 !important;

    caret-color: #ff8c84 !important;

    }

    .v-application .error.lighten-1 {

    background-color: #ff6f6a !important;

    border-color: #ff6f6a !important;

    }

    .v-application .error--text.text--lighten-1 {

    color: #ff6f6a !important;

    caret-color: #ff6f6a !important;

    }

    .v-application .error.darken-1 {

    background-color: #df323b !important;

    border-color: #df323b !important;

    }

    .v-application .error--text.text--darken-1 {

    color: #df323b !important;

    caret-color: #df323b !important;

    }

    .v-application .error.darken-2 {

    background-color: #bf0025 !important;

    border-color: #bf0025 !important;

    }

    .v-application .error--text.text--darken-2 {

    color: #bf0025 !important;

    caret-color: #bf0025 !important;

    }

    .v-application .error.darken-3 {

    background-color: #9f0010 !important;

    border-color: #9f0010 !important;

    }

    .v-application .error--text.text--darken-3 {

    color: #9f0010 !important;

    caret-color: #9f0010 !important;

    }

    .v-application .error.darken-4 {

    background-color: #800000 !important;

    border-color: #800000 !important;

    }

    .v-application .error--text.text--darken-4 {

    color: #800000 !important;

    caret-color: #800000 !important;

    }

    .v-application .info {

    background-color: #2196f3 !important;

    border-color: #2196f3 !important;

    }

    .v-application .info--text {

    color: #2196f3 !important;

    caret-color: #2196f3 !important;

    }

    .v-application .info.lighten-5 {

    background-color: #d4ffff !important;

    border-color: #d4ffff !important;

    }

    .v-application .info--text.text--lighten-5 {

    color: #d4ffff !important;

    caret-color: #d4ffff !important;

    }

    .v-application .info.lighten-4 {

    background-color: #b5ffff !important;

    border-color: #b5ffff !important;

    }

    .v-application .info--text.text--lighten-4 {

    color: #b5ffff !important;

    caret-color: #b5ffff !important;

    }

    .v-application .info.lighten-3 {

    background-color: #95e8ff !important;

    border-color: #95e8ff !important;

    }

    .v-application .info--text.text--lighten-3 {

    color: #95e8ff !important;

    caret-color: #95e8ff !important;

    }

    .v-application .info.lighten-2 {

    background-color: #75ccff !important;

    border-color: #75ccff !important;

    }

    .v-application .info--text.text--lighten-2 {

    color: #75ccff !important;

    caret-color: #75ccff !important;

    }

    .v-application .info.lighten-1 {

    background-color: #51b0ff !important;

    border-color: #51b0ff !important;

    }

    .v-application .info--text.text--lighten-1 {

    color: #51b0ff !important;

    caret-color: #51b0ff !important;

    }

    .v-application .info.darken-1 {

    background-color: #007cd6 !important;

    border-color: #007cd6 !important;

    }

    .v-application .info--text.text--darken-1 {

    color: #007cd6 !important;

    caret-color: #007cd6 !important;

    }

    .v-application .info.darken-2 {

    background-color: #0064ba !important;

    border-color: #0064ba !important;

    }

    .v-application .info--text.text--darken-2 {

    color: #0064ba !important;

    caret-color: #0064ba !important;

    }

    .v-application .info.darken-3 {

    background-color: #004d9f !important;

    border-color: #004d9f !important;

    }

    .v-application .info--text.text--darken-3 {

    color: #004d9f !important;

    caret-color: #004d9f !important;

    }

    .v-application .info.darken-4 {

    background-color: #003784 !important;

    border-color: #003784 !important;

    }

    .v-application .info--text.text--darken-4 {

    color: #003784 !important;

    caret-color: #003784 !important;

    }

    .v-application .success {

    background-color: #4caf50 !important;

    border-color: #4caf50 !important;

    }

    .v-application .success--text {

    color: #4caf50 !important;

    caret-color: #4caf50 !important;

    }

    .v-application .success.lighten-5 {

    background-color: #dcffd6 !important;

    border-color: #dcffd6 !important;

    }

    .v-application .success--text.text--lighten-5 {

    color: #dcffd6 !important;

    caret-color: #dcffd6 !important;

    }

    .v-application .success.lighten-4 {

    background-color: #beffba !important;

    border-color: #beffba !important;

    }

    .v-application .success--text.text--lighten-4 {

    color: #beffba !important;

    caret-color: #beffba !important;

    }

    .v-application .success.lighten-3 {

    background-color: #a2ff9e !important;

    border-color: #a2ff9e !important;

    }

    .v-application .success--text.text--lighten-3 {

    color: #a2ff9e !important;

    caret-color: #a2ff9e !important;

    }

    .v-application .success.lighten-2 {

    background-color: #85e783 !important;

    border-color: #85e783 !important;

    }

    .v-application .success--text.text--lighten-2 {

    color: #85e783 !important;

    caret-color: #85e783 !important;

    }

    .v-application .success.lighten-1 {

    background-color: #69cb69 !important;

    border-color: #69cb69 !important;

    }

    .v-application .success--text.text--lighten-1 {

    color: #69cb69 !important;

    caret-color: #69cb69 !important;

    }

    .v-application .success.darken-1 {

    background-color: #2d9437 !important;

    border-color: #2d9437 !important;

    }

    .v-application .success--text.text--darken-1 {

    color: #2d9437 !important;

    caret-color: #2d9437 !important;

    }

    .v-application .success.darken-2 {

    background-color: #00791e !important;

    border-color: #00791e !important;

    }

    .v-application .success--text.text--darken-2 {

    color: #00791e !important;

    caret-color: #00791e !important;

    }

    .v-application .success.darken-3 {

    background-color: #006000 !important;

    border-color: #006000 !important;

    }

    .v-application .success--text.text--darken-3 {

    color: #006000 !important;

    caret-color: #006000 !important;

    }

    .v-application .success.darken-4 {

    background-color: #004700 !important;

    border-color: #004700 !important;

    }

    .v-application .success--text.text--darken-4 {

    color: #004700 !important;

    caret-color: #004700 !important;

    }

    .v-application .warning {

    background-color: #fb8c00 !important;

    border-color: #fb8c00 !important;

    }

    .v-application .warning--text {

    color: #fb8c00 !important;

    caret-color: #fb8c00 !important;

    }

    .v-application .warning.lighten-5 {

    background-color: #ffff9e !important;

    border-color: #ffff9e !important;

    }

    .v-application .warning--text.text--lighten-5 {

    color: #ffff9e !important;

    caret-color: #ffff9e !important;

    }

    .v-application .warning.lighten-4 {

    background-color: #fffb82 !important;

    border-color: #fffb82 !important;

    }

    .v-application .warning--text.text--lighten-4 {

    color: #fffb82 !important;

    caret-color: #fffb82 !important;

    }

    .v-application .warning.lighten-3 {

    background-color: #ffdf67 !important;

    border-color: #ffdf67 !important;

    }

    .v-application .warning--text.text--lighten-3 {

    color: #ffdf67 !important;

    caret-color: #ffdf67 !important;

    }

    .v-application .warning.lighten-2 {

    background-color: #ffc24b !important;

    border-color: #ffc24b !important;

    }

    .v-application .warning--text.text--lighten-2 {

    color: #ffc24b !important;

    caret-color: #ffc24b !important;

    }

    .v-application .warning.lighten-1 {

    background-color: #ffa72d !important;

    border-color: #ffa72d !important;

    }

    .v-application .warning--text.text--lighten-1 {

    color: #ffa72d !important;

    caret-color: #ffa72d !important;

    }

    .v-application .warning.darken-1 {

    background-color: #db7200 !important;

    border-color: #db7200 !important;

    }

    .v-application .warning--text.text--darken-1 {

    color: #db7200 !important;

    caret-color: #db7200 !important;

    }

    .v-application .warning.darken-2 {

    background-color: #bb5900 !important;

    border-color: #bb5900 !important;

    }

    .v-application .warning--text.text--darken-2 {

    color: #bb5900 !important;

    caret-color: #bb5900 !important;

    }

    .v-application .warning.darken-3 {

    background-color: #9d4000 !important;

    border-color: #9d4000 !important;

    }

    .v-application .warning--text.text--darken-3 {

    color: #9d4000 !important;

    caret-color: #9d4000 !important;

    }

    .v-application .warning.darken-4 {

    background-color: #802700 !important;

    border-color: #802700 !important;

    }

    .v-application .warning--text.text--darken-4 {

    color: #802700 !important;

    caret-color: #802700 !important;

    }</style><style type="text/css">:root span[title="Ads by Google"], :root span[data-component-type="s-ads-metrics"], :root input[onclick^="window.open('http://www.friendlyduck.com/"], :root input[onclick^="window.open('http://www.FriendlyDuck.com/"], :root iframe[src^="https://pagead2.googlesyndication.com/"], :root iframe[src^="http://static.mozo.com.au/strips/"], :root div[role="navigation"] + c-wiz > div > .kxhcC, :root div[jscontroller="U835zd"] + c-wiz[jsrenderer="YnuqN"], :root div[itemtype="http://www.schema.org/WPAdBlock"], :root div[id^="zergnet-widget"], :root div[id^="taboola-stream-"], :root div[id^="q1-adset-"], :root div[id^="google_dfp_"], :root div[id^="dmRosAdWrapper"], :root div[id^="div_openx_ad_"], :root div[id^="div-adtech-ad-"], :root div[id^="div-ads-"], :root div[id^="dfp-ad-"], :root div[id^="crt-"][style], :root div[id^="cns_ads_"], :root div[id^="block-views-topheader-ad-block-"], :root div[id^="advt-"], :root div[id^="adspot-"], :root div[itemtype="http://schema.org/WPAdBlock"], :root div[id^="ads300_600-widget"], :root div[id^="ads300_100-widget"], :root div[id^="ads250_250-widget"], :root div[id^="ads120_600-widget"], :root div[id^="ad_rect_"], :root div[id^="ad_position_"], :root div[id^="ad_head_celtra_"], :root div[id^="ad_bigbox_"], :root div[id^="ad-position-"], :root div[id^="ad-inserter-"], :root div[id^="ad-gpt-"], :root div[id^="ad-div-"], :root div[data-test-id="AdBannerWrapper"], :root div[data-role="sidebarAd"], :root div[data-mediatype="advertising"], :root div[data-ismultirow="true"][data-id^="CarouselPLA-"], :root div[data-id-advertdfpconf], :root div[data-flt-ve="sponsored_search_ads"], :root div[data-adunit-path], :root div[data-adservice-param-tagid="contentad"], :root div[id^="mainads"], :root div[data-adname], :root div[data-ad-placeholder], :root div[class^="proadszone-"], :root div[class^="pane-adsense-managed-"], :root div[class^="largeRectangleAd_"], :root div[class^="pane-google-admanager-"], :root div[class^="kiwiad-desktop"], :root div[class^="kiwi-ad-wrapper"], :root div[class^="index_adAfterContent_"], :root div[class^="awpcp-random-ads"], :root div[class^="articleAdUnitMPU_"], :root div[class^="ads-partner-"], :root div[class^="adpubs-"], :root div[class^="adbanner_"], :root div[class^="ad_position_"], :root div[class^="ad_border_"], :root div[class^="adUnit_"], :root div[class^="StickyHeroAdWrapper-"], :root div[id^="advads_"], :root div[class^="ResponsiveAd-"], :root div[class^="PreAd_"], :root div[class^="Component-dfp-"], :root div[class^="BlockAdvert-"], :root div[class^="BannerAd_"], :root div[class^="AdhesionAd_"], :root div[class^="Adcontainer"], :root div[class^="AdbigBox"], :root div[class^="AdItem-"], :root div[class^="AdEmbeded__AddWrapper"], :root div[class^="AdCard_"], :root div[class^="AdBannerWrapper-"], :root div[class*="_browserAdOuterContainer_"], :root div[class$="dealnews"] > .dealnews, :root div[class$="_b-ad-main"], :root div[cel_widget_id="dpx-sponsored-products-detail_csm_instrumentation_wrapper"], :root div[aria-label="Ads"], :root div > [class][onclick*=".updateAnalyticsEvents"], :root display-ads, :root bottomadblock, :root aside[itemtype="https://schema.org/WPAdBlock"], :root aside[id^="advads_ad_widget-"], :root app-advertisement, :root amp-ad-custom, :root ad-desktop-sidebar, :root a[target="_blank"][onmousedown="this.href^='http://paid.outbrain.com/network/redir?"], :root a[target="_blank"][href^="http://api.taboola.com/"], :root a[style="display:block;width:300px;min-height:250px"][href^="http://li.cnet.com/click?"], :root a[src^="https://www.utherverse.com/net/"], :root a[onmousedown^="this.href='https://paid.outbrain.com/network/redir?"][target="_blank"] + .ob_source, :root a[onmousedown^="this.href='https://paid.outbrain.com/network/redir?"][target="_blank"], :root a[onmousedown^="this.href='http://staffpicks.outbrain.com/network/redir?"][target="_blank"] + .ob_source, :root a[onmousedown^="this.href='http://staffpicks.outbrain.com/network/redir?"][target="_blank"], :root a[onmousedown^="this.href='http://paid.outbrain.com/network/redir?"][target="_blank"], :root a[onmousedown^="this.href='/wp-content/embed-ad-content/"], :root div[id^="rc-widget-"], :root a[href^="https://www.what-sexdating.com/"], :root a[href^="https://www.vewwrmp.com/"], :root a[href^="https://www.travelzoo.com/oascampaignclick/"], :root a[href^="https://www.sheetmusicplus.com/"][href*="?aff_id="], :root a[href^="https://www.securegfm.com/"], :root a[href^="https://www.purevpn.com/"][href*="&utm_source=aff-"], :root a[href^="https://www.privateinternetaccess.com/"] > img, :root a[href^="https://www.pornhat.com/"][rel="nofollow"], :root a[href^="https://www.popads.net/users/"], :root a[href^="https://www.passeura.com/"], :root a[href^="https://www.oneclickroot.com/?tap_a="] > img, :root a[href^="https://www.oboom.com/ref/"], :root a[href^="https://www.oboom.com/ad/"], :root a[href^="https://www.nudeidols.com/cams/"], :root a[href^="https://www.mypornstarcams.com/landing/click/"], :root a[href^="https://www.kingsoffetish.com/tour?partner_id="], :root a[href^="https://www.goldenfrog.com/vyprvpn?offer_id="][href*="&aff_id="], :root a[href^="https://www.gambling-affiliation.com/cpc/"], :root a[href^="https://www.g4mz.com/"], :root a[href^="https://www.friendlyduck.com/AF_"], :root a[href^="https://www.financeads.net/tc.php?"], :root a[href^="https://www.clicktraceclick.com/"], :root a[href^="https://www.camsoda.com/enter.php?id="], :root a[href^="https://www.awin1.com/cread.php?awinaffid="], :root a[href^="https://www.arthrozene.com/"][href*="?tid="], :root a[href^="https://www.adxtro.com/"], :root a[href^="https://www.adskeeper.co.uk/"], :root a[href^="https://wittered-mainging.com/"], :root a[href^="https://windscribe.com/promo/"], :root a[href^="https://watchmygirlfriend.tv/"], :root div[id^="banner-ad-"], :root a[href^="https://wantopticalfreelance.com/"], :root a[href^="https://vod09197d7.club/"], :root a[href^="https://usenetxs.website/"], :root a[href^="https://www.mrskin.com/tour"], :root a[href^="https://understandsolar.com/signup/?lead_source="][href*="&tracking_code="], :root a[href^="https://uncensored3d.com/"], :root a[href^="https://uncensored.game/"], :root a[href^="https://trusted-click-host.com/"], :root a[href^="https://trust.zone/go/r.php?RID="], :root a[href^="https://trklvs.com/"], :root a[href^="https://trf.bannerator.com/"], :root div[class^="index_displayAd_"], :root a[href^="https://trappist-1d.com/"], :root a[href^="https://trackjs.com/?utm_source"], :root a[href^="https://tracking.truthfinder.com/?a="], :root a[href^="https://tracking.gitads.io/"], :root a[href^="https://tracking.avapartner.com/"], :root a[href^="https://track.trkinator.com/"], :root a[href^="https://track.totalav.com/"], :root a[href^="https://track.themadtrcker.com/"], :root a[href^="https://track.interactivegf.com/"], :root a[href^="https://track.healthtrader.com/"], :root a[href^="https://track.clickmoi.xyz/"], :root a[href^="https://track.bruceads.com/"], :root a[href^="https://track.afcpatrk.com/"], :root a[href^="http://api.content.ad/"], :root a[href*=".adform.net/"], :root a[href^="https://tour.mrskin.com/"], :root a[href^="https://torguard.net/aff.php"] > img, :root div[data-test-id="AdDisplayWrapper"], :root a[href^="https://tc.tradetracker.net/"] > img, :root [href*=".etracking.pro"], :root a[href^="http://www.firstload.de/affiliate/"], :root a[href^="http://6kup12tgxx.com/"], :root a[href^="https://t.hrtye.com/"], :root a[href^="https://syndication.exoclick.com/splash.php?"], :root a[href^="http://deloplen.com/afu.php?zoneid="], :root a[href*="/cmd.php?ad="], :root a[href^="https://see.kmisln.com/"], :root a[onclick*="//m.economictimes.com/etmack/click.htm"], :root a[href^="https://secure.starsaffiliateclub.com/C.ashx?"], :root a[href*="/adServe/banners?"], :root a[href^="https://secure.bstlnk.com/"], :root .plistaList > .itemLinkPET, :root a[href^="https://scurewall.co/"], :root a[href*="delivery.trafficfabrik.com"], :root a[href^="http://bc.vc/?r="], :root a[href^="https://retiremely.com/"], :root a[href^="https://refpaano.host/"], :root a[href^="https://redsittalvetoft.pro/"], :root a[href^="https://reachtrgt.com/"], :root a[href^="https://pubads.g.doubleclick.net/"], :root a[href^="http://hpn.houzz.com/"], :root a[href^="https://prf.hn/click/"][href*="/creativeref:"] > img, :root a[href^="https://www.mrskin.com/account/"], :root a[href^="https://porngames.adult/?SID="], :root div[class^="zn-sponsored-outbrain-"], :root a[href^="https://partners.fxoro.com/click.php?"], :root a[href^="https://offers.refchamp.com/"], :root a[href^="https://offerforge.net/"], :root a[href^="https://oackoubs.com/"], :root script[src^="http://free-shoutbox.net/app/webroot/shoutbox/sb.php?shoutbox="] + #freeshoutbox_content, :root a[href^="https://myusenet.xyz/"], :root a[href^="https://mmwebhandler.aff-online.com/"], :root a[href^="http://www.gamebookers.com/cgi-bin/intro.cgi?"], :root a[href^="https://mk-ads.com/"], :root a[href^="https://servedbyadbutler.com/"], :root a[href^="https://meet-sexhere.com/"], :root div[data-adzone], :root a[href^="https://aweptjmp.com/"], :root a[href^="https://medleyads.com/"], :root a[href^="https://mcdlks.com/"], :root a[href^="https://ad13.adfarm1.adition.com/"], :root a[href^="https://landing1.brazzersnetwork.com"], :root a[href^="https://landing.brazzersnetwork.com/"], :root a[href^="https://land.rk.com/landing/"], :root a[href^="https://www.brazzersnetwork.com/landing/"], :root a[href^="https://k2s.cc/pr/"], :root a[href^="https://juicyads.in/"], :root a[href^="https://join.dreamsexworld.com/"], :root a[href^="https://jmp.awempire.com/"], :root div[jsdata*="CarouselPLA-"][data-id^="CarouselPLA-"], :root a[href*=".trck5.com/"], :root a[href^="https://iqbroker.com/"][href*="?aff="], :root div[class^="backfill-taboola-home-slot-"], :root .GPMV2XEDA2 > .GPMV2XEDP1 > .GPMV2XEDJBB, :root a[href^="https://incisivetrk.cvtr.io/click?"], :root div[class^="Ad__adContainer"], :root a[href^="https://ilovemyfreedoms.com/"][href*="?affiliate_id="], :root a[href^="http://wopertific.info/"], :root a[href^="https://iactrivago.ampxdirect.com/"], :root div[data-adunit], :root #center_col > #taw > #tvcap > .rscontainer, :root a[href^="https://graizoah.com/"], :root div[class^="hp-ad-rect-"], :root a[href^="https://go.trkclick2.com/"], :root a[href^="https://go.trackitalltheway.com/"], :root c-wiz[jsrenderer="YnuqN"] > div > div > .Rn1jbe, :root [href^="https://www.hostg.xyz/aff_c"], :root a[href^="https://go.strpjmp.com/"], :root a[href^="https://go.stripchat.com/"][href*="&campaignId="], :root a[href^="https://go.onclasrv.com/"], :root a[href^="https://horny-pussies.com/tds"], :root a[href^="https://go.nordvpn.net/aff"] > img, :root a[href^="https://go.hpyrdr.com/"], :root a[href^="https://zononi.com/"], :root a[href^="https://go.ad2up.com/"], :root a[href^="https://go.hpyjmp.com/"], :root [href^="https://ptwmjmp.com/"], :root a[href^="https://go.julrdr.com/"], :root a[href^="http://record.betsafe.com/"], :root a[href^="https://awentw.com/"], :root a[href^="https://go.etoro.com/"] > img, :root a[href^="http://www.uniblue.com/cm/"], :root a[href^="https://mk-cdn.net/"], :root a[href^="//voyeurhit.com/cs/"], :root [href*=".trackmstr.com"], :root a[href^="https://go.ebrokerserve.com/"], :root a[href^="http://trk.mdrtrck.com/"], :root a[href^="https://googleads.g.doubleclick.net/pcs/click"], :root a[href^="http://us.marketgid.com"], :root a[href^="https://fleshlight.sjv.io/"], :root a[href^="https://easygamepromo.com/ef/custom_affiliate/"], :root a[href^="https://earandmarketing.com/"], :root a[href^="https://dltags.com/"], :root a[href^="https://dianches-inchor.com/"], :root a[href^="https://www.get-express-vpn.com/offer/"], :root a[href^="http://servicegetbook.net/"], :root a[href^="https://dediseedbox.com/clients/aff.php?"], :root a[href^="https://cpartner.bdswiss.com/"], :root a[href^="https://clicks.pipaffiliates.com/"], :root div[data-ad-wrapper], :root a[href^="https://clickadilla.com/"], :root a[href^="https://chaturbate.com/affiliates/"], :root AD-TRIPLE-BOX, :root a[href^="https://bs.serving-sys.com"], :root a[href^="https://blackorange.go2cloud.org/"], :root [href*="prayuserparka.com/"], :root a[href^="https://go.cmrdr.com/"], :root .GB3L-QEDGY .GB3L-QEDF- > .GB3L-QEDE-, :root a[href^="https://chaturbate.jjgirls.com/"][href*="?tour="], :root a[href^="https://betway.com/"][href*="&a="], :root [href^="https://join.playboyplus.com/track/"], :root a[href^="https://bestcond1tions.com/"], :root div[id^="ADV-SLOT-"], :root a[href^="https://badoinkvr.com/"], :root a[href^="http://pubads.g.doubleclick.net/"], :root a[href^="https://ad.atdmt.com/"], :root a[href^="https://axdsz.pro/"], :root a[href^="https://prf.hn/click/"][href*="/adref:"] > img, :root a[href^="https://awejmp.com/"], :root a[href^="http://syndication.exoclick.com/"], :root a[href^="https://awecrptjmp.com/"], :root a[href^="https://adultfriendfinder.com/go/page/landing"], :root div[data-spotim-slot], :root a[href^="https://adsrv4k.com/"], :root a[href^="https://adserver.adreactor.com/"], :root a[href^="https://keep2share.cc/pr/"], :root a[href^="https://go.xtbaffiliates.com/"], :root a[href^="https://adclick.g.doubleclick.net/"], :root a[href^="https://ads.trafficpoizon.com/"], :root a[href^="https://ads.planetwin365affiliate.com/redirect.aspx?"], :root a[href^="https://ads.ad4game.com/"], :root [href^="https://online-protection-now.com/"], :root a[href^="https://m.do.co/c/"] > img, :root a[href^="https://ad.doubleclick.net/"], :root a[href^="https://aaucwbe.com/"], :root a[href^="https://a.bestcontentfood.top/"], :root a[href^="https://secure.cbdpure.com/aff/"], :root a[href^="https://a.adtng.com/"], :root a[href^="http://zevera.com/afi.html"], :root a[href^="http://yads.zedo.com/"], :root .inlineNewsletterSubscription + .inlineNewsletterSubscription div[class$="_item"], :root a[href^="http://xtgem.com/click?"], :root a[href^="http://clicks.binarypromos.com/"], :root a[href^="https://static.fleshlight.com/images/banners/"], :root a[href^="http://wxdownloadmanager.com/dl/"], :root a[href^="https://content.oneindia.com/www/delivery/"], :root a[href^="http://www.zergnet.com/i/"], :root [href*="//go2page.net"], :root a[href^="http://www.xmediaserve.com/"], :root a[href^="https://affiliates.bet-at-home.com/processing/"], :root a[href^="http://ad.au.doubleclick.net/"], :root a[href^="http://www.torntv-downloader.com/"], :root .ra[align="right"][width="30%"], :root a[href^="http://www.tirerack.com/affiliates/"], :root a[href^="http://c.ketads.com/"], :root a[href^="http://duckcash.eu/"], :root a[href^="http://www.sex.com/?utm_"], :root a[href^="https://landing.brazzersplus.com/"], :root a[href^="http://www.text-link-ads.com/"], :root div[data-native_ad], :root a[href^="http://vo2.qrlsx.com/"], :root a[href^="http://www.terraclicks.com/"], :root a[href^="http://www.streamtunerhd.com/signup?"], :root a[href^="//srv.buysellads.com/"], :root a[href^="https://deliver.ptgncdn.com/"], :root a[href^="//oardilin.com/"], :root a[href^="http://www.streamate.com/exports/"], :root a[href^="http://www.sfippa.com/"], :root .mod > ._jH + .rscontainer, :root #center_col > #main > .dfrd > .mnr-c > .c._oc._zs, :root a[href^="http://www.sex.com/videos/?utm_"], :root a[href^="https://syndication.dynsrvtbg.com/splash.php?"], :root a[href^="https://explore.findanswersnow.net/"], :root a[href^="http://www.sex.com/pics/?utm_"], :root a[href^="http://server.cpmstar.com/click.aspx?poolid="], :root a[href^="http://www.securegfm.com/"], :root #rhs_block .mod > .gws-local-hotels__booking-module, :root a[href^="http://www.roboform.com/php/land.php"], :root a[href^="https://squren.com/rotator/?atomid="], :root a[href^="http://www.revenuehits.com/"], :root a[href^="http://www.coiwqe.site/"], :root a[href^="http://www.plus500.com/?id="], :root a[href^="http://go.mobisla.com/"], :root .trc_rbox_div .syndicatedItem, :root a[href^="https://secure.adnxs.com/clktrb?"], :root [data-freestar-ad], :root a[href^="http://www.pinkvisualpad.com/?revid="], :root a[href^="https://members.linkifier.com/public/affiliateLanding?refCode="], :root a[href^="http://www.pinkvisualgames.com/?revid="], :root div[class^="block-openx-"], :root a[href*=".directtl.xyz/"], :root a[href^="http://www.paddypower.com/?AFF_ID="], :root a[href^="https://topoffers.com/"][href*="/?pid="], :root a[href^="http://www.on2url.com/app/adtrack.asp"], :root a[href^="http://www.myfreecams.com/?co_id="][href*="&track="], :root div[id^="gtm-ad-"], :root a[href^="http://www.my-dirty-hobby.com/?sub="], :root iframe[src*="mellowads.com"], :root a[href^="http://www.seekbang.com/cs/"], :root [name^="google_ads_iframe"], :root a[href^="http://bs.serving-sys.com/"], :root a[href^="http://www.menaon.com/installs/"], :root a[href^="https://www.spyoff.com/"], :root a[href^="http://www.linkbucks.com/referral/"], :root a[href^="http://www.ragazzeinvendita.com/?rcid="], :root a[href^="http://www.graboid.com/affiliates/"], :root #cnt #center_col > #res > #topstuff > .ts, :root a[href*=".tfaln.com/"], :root a[href^="http://www.getyourguide.com/?partner_id="], :root a[href^="http://www.friendlyduck.com/AF_"], :root a[href^="http://www.friendlyadvertisements.com/"], :root a[href^="http://www.fpcTraffic2.com/blind/in.cgi?"], :root a[href^="https://prf.hn/click/"][href*="/camref:"] > img, :root a[href^="http://www.fleshlight.com/"], :root a[href^="http://www.flashx.tv/downloadthis"], :root div[class^="index__adWrapper"], :root #MAIN.ShowTopic > .ad, :root a[href^="http://www.ducksnetwork.com/"], :root a[href^="https://billing.purevpn.com/aff.php"] > img, :root a[href^="http://www.downloadthesefiles.com/"], :root a[href^="http://www.downloadplayer1.com/"], :root a[href^="http://www.myfreepaysite.com/sfw_int.php?aid"], :root a[href*=".ichlnk.com/"], :root a[href^="http://www.dealcent.com/register.php?affid="], :root a[href^="http://www.clkads.com/adServe/"], :root a[href^="http://www.bet365.com/"][href*="affiliate="], :root a[href^="http://www.babylon.com/welcome/index?affID"], :root a[href^="http://www.amazon.co.uk/exec/obidos/external-search?"], :root a[href^="https://refpaexhil.top/"], :root a[href^="http://www.afgr3.com/"], :root a[href^="http://srvpub.com/"], :root a[href^="https://cpmspace.com/"], :root .ob-widget > .ob-first.ob-widget-section, :root a[href^="http://www.afgr2.com/"], :root a[href^="http://lp.ezdownloadpro.info/"], :root a[href^="https://mediaserver.gvcaffiliates.com/renderBanner.do?"], :root iframe[id^="google_ads_frame"], :root a[href^="http://www.greenmangaming.com/?tap_a="], :root a[href^="http://www.adultdvdempire.com/?partner_id="][href*="&utm_"], :root a[href^="http://www.adskeeper.co.uk/"], :root a[href^="https://refpasrasw.world/"], :root div[class^="index_adBeforeContent_"], :root a[href^="http://c43a3cd8f99413891.com/"], :root a[href^="http://www.123-reg.co.uk/affiliate2.cgi"], :root a[href^="http://webtrackerplus.com/"], :root a[href^="http://webgirlz.online/landing/"], :root a[href^="http://web.adblade.com/"], :root a[href^="https://bullads.net/get/"], :root a[href^="https://my-movie.club/"], :root a[href^="https://awptjmp.com/"], :root a[href^="https://adhealers.com/"], :root a[href^="http://www.duckcash.eu/"], :root a[href^="http://adserver.adreactor.com/"], :root a[href^="http://uploaded.net/ref/"], :root a[href*="//ridingintractable.com/"], :root a[href^="http://ad.doubleclick.net/"], :root a[href^="http://ul.to/ref/"], :root a[href^="https://ovb.im/"], :root a[href^="http://track.trkvluum.com/"], :root a[href^="http://tour.mrskin.com/"], :root a[href^="http://pwrads.net/"], :root a[href^="https://iqoption.com/lp/mobile-partner/"][href*="?aff="], :root a[href^="https://www.adultempire.com/"][href*="?partner_id="], :root a[href^="http://tezfiles.com/pr/"], :root a[href^="http://tc.tradetracker.net/"] > img, :root a[href^="http://www.bitlord.me/share/"], :root a[href^="http://www.down1oads.com/"], :root a[href^="http://t.wowtrk.com/"], :root a[href^="http://www.friendlyquacks.com/"], :root [href^="https://traffserve.com/"], :root a[href^="http://bluehost.com/track/"], :root a[href^="http://www.download-provider.org/"], :root a[href^="http://traffic.tc-clicks.com/"], :root a[href^="http://spygasm.com/track?"], :root a[href^="https://track.wg-aff.com"], :root a[href^="https://creacdn.top-convert.com/"], :root a[href^="http://sharesuper.info/"], :root dile-cookies-consent, :root a[href^="http://www.wantstraffic.com/"], :root a[href^="http://www.hibids10.com/"], :root a[href^="http://www.fducks.com/"], :root a[href^="http://adsrv.keycaptcha.com"], :root a[href^="http://serve.williamhill.com/promoRedirect?"], :root a[href^="http://semi-cod.com/clicks/"], :root a[href^="https://syndication.optimizesrv.com/splash.php?"], :root a[href^="https://cams.imagetwist.com/in/?track="], :root a[href^="http://see-work.info/"], :root a[href^="http://secure.cbdpure.com/aff/"], :root div[class^="sp-adslot-"], :root a[href^="https://chaturbate.com/in/?track="], :root a[href^="http://searchtabnew.com/"], :root a[href^="http://s9kkremkr0.com/"], :root a[href^="http://refpaano.host/"], :root a[href^="http://pan.adraccoon.com?"], :root a[href^="https://ads-for-free.com/click.php?"], :root a[href^="https://paid.outbrain.com/network/redir?"], :root a[href^="http://refer.webhostingbuzz.com/"], :root a[href^="https://financeads.net/tc.php?"], :root a[href^="http://reallygoodlink.extremefreegames.com/"], :root a[href^="http://popup.taboola.com/"], :root a[href^="http://play4k.co/"], :root a[href^="http://onclickads.net/"], :root a[href^="http://n.admagnet.net/"], :root a[href^="http://mob1ledev1ces.com/"], :root div[id^="amzn-assoc-ad"], :root a[href^="https://land.brazzersnetwork.com/landing/"], :root a[href^="http://mmo123.co/"], :root a[href^="http://mgid.com/"], :root a[href^="http://media.paddypower.com/redirect.aspx?"], :root #rhswrapper > #rhssection[border="0"][bgcolor="#ffffff"], :root [id*="MGWrap"], :root a[href*="pussl3.com"], :root a[href^="https://track.52zxzh.com/"], :root a[href^="https://bnsjb1ab1e.com/"], :root a[href^="http://marketgid.com"], :root a[href^="http://liversely.net/"], :root a[href^="http://secure.signup-page.com/"], :root div[data-crl="true"][data-id^="CarouselPLA-"], :root a[href^="http://linksnappy.com/?ref="], :root a[href^="http://landingpagegenius.com/"], :root [href*=".adcampo.com/"], :root a[href^="http://keep2share.cc/pr/"], :root a[href^="http://istri.it/?"], :root a[href^="http://intent.bingads.com/"], :root .widget-pane-section-result[data-result-ad-type], :root a[href^="http://imads.integral-marketing.com/"], :root a[data-url^="http://paid.outbrain.com/network/redir?"] + .author, :root a[href^="http://hyperlinksecure.com/go/"], :root a[href*="?adlivk="][href*="&refer="], :root a[href^="http://https://www.get-express-vpn.com/offer/"], :root a[href^="http://guideways.info/"], :root .vi-lb-placeholder[title="ADVERTISEMENT"], :root #flowplayer > div[style="position: absolute; width: 300px; height: 275px; left: 222.5px; top: 85px; z-index: 999;"], :root a[href^="http://join3.bannedsextapes.com/track/"], :root a[href^="http://see.kmisln.com/"], :root [href*=".revrtb.com/"], :root a[href^="http://greensmoke.com/"], :root a[href^="http://goldmoney.com/?gmrefcode="], :root a[href^="http://go.xtbaffiliates.com/"], :root #rhs_block > .ts[cellspacing="0"][cellpadding="0"][style="padding:0"], :root a[href^="http://go.oclaserver.com/"], :root a[href^="http://www.usearchmedia.com/signup?"], :root a[href^="http://go.fpmarkets.com/"], :root a[href^="http://go.ad2up.com/"], :root a[href^="http://get.slickvpn.com/"], :root a[href^="http://galleries.securewebsiteaccess.com/"], :root a[href^="https://track.ultravpn.com/"], :root a[href^="http://www.socialsex.com/"], :root a[href^="http://g1.v.fwmrm.net/ad/"], :root a[href^="http://fsoft4down.com/"], :root a[href^="https://gogoman.me/"], :root a[href^="http://www.adbrite.com/mb/commerce/purchase_form.php?"], :root a[href^="http://freesoftwarelive.com/"], :root a[href^="http://feedads.g.doubleclick.net/"], :root a[href^="http://farm.plista.com/pets"], :root a[href^="http://extra.bet365.com/"][href*="?affiliate="], :root a[href^="http://engine.newsmaxfeednetwork.com/"], :root a[href^="http://elitefuckbook.com/"], :root a[href^="http://look.djfiln.com/"], :root a[href^="http://eclkmpsa.com/"], :root a[href^="https://affiliate.geekbuying.com/gkbaffiliate.php?"], :root a[href^="http://earandmarketing.com/"], :root a[href^="http://lp.ncdownloader.com/"], :root .GFYY1SVD2 > .GFYY1SVC2 > .GFYY1SVF5, :root div[id^="lazyad-"], :root div[class^="advertisement-desktop"], :root #rhs_block > ol > .rhsvw > .kp-blk > .xpdopen > ._OKe > ol > ._DJe > .luhb-div, :root img[alt^="Fuckbook"], :root a[href^="http://adrunnr.com/"], :root a[href^="http://www.webtrackerplus.com/"], :root [href^="/admdownload.php"], :root div[class^="kiwiad-popup"], :root a[href^="http://download-performance.com/"], :root a[href^="https://gghf.mobi/"], :root a[href^="//postlnk.com/"], :root a[href*=".qertewrt.com/"], :root a[href^="http://dftrck.com/"], :root a[href^="//awejmp.com/"], :root a[href^="http://d2.zedo.com/"], :root a[href*="=exoclick"], :root a[href^="http://a63t9o1azf.com/"], :root a[href^="http://cpaway.afftrack.com/"], :root a[href*=".xromp.com/landing/click/"], :root a[href^="http://clkmon.com/adServe/"], :root a[href^="http://clickserv.sitescout.com/"], :root .ch[onclick="ga(this,event)"], :root a[href^="http://chaturbate.com/affiliates/"], :root [href^="http://advertisesimple.info/"], :root a[href^="http://cdn3.adexprts.com/"], :root #cnt #center_col > #taw > #tvcap > .c._oc._Lp, :root a[href^="http://buysellads.com/"], :root a[href^="http://cdn.adstract.com/"], :root a[href^="//5e1fcb75b6d662d.com/"], :root a[href^="http://campaign.bharatmatrimony.com/cbstrack/"], :root div[id^="ad-cid-"], :root a[href^="http://cdn.adsrvmedia.net/"], :root a[href^="http://campaign.bharatmatrimony.com/track/"], :root a[href^="https://farm.plista.com/pets"], :root a[href^="http://czotra-32.com/"], :root [href^="https://rapidgator.net/article/premium/ref/"], :root a[href^="http://click.plista.com/pets"], :root .commercial-unit-desktop-rhs > .iKidV > .Ee92ae + .P2mpm + .hp3sk, :root a[href^="http://c.jumia.io/"], :root [data-dynamic-ads], :root a[href^="https://sexsimulator.game/tab/?SID="], :root a[href^="http://c.actiondesk.com/"], :root div[class^="Display_displayAd"], :root a[href*=".fwd28.com/"], :root a[href^="http://bodelen.com/"], :root a[href^="http://betahit.click/"], :root a[href^="http://bcp.crwdcntrl.net/"], :root a[href^="https://porndeals.com/?track="], :root a[href^="http://finaljuyu.com/"], :root a[href^="http://adprovider.adlure.net/"], :root a[href^="http://codec.codecm.com/"], :root a[href^="https://msecure117.com/"], :root a[onmousedown^="this.href='http://paid.outbrain.com/network/redir?"][target="_blank"] + .ob_source, :root a[href^="http://affiliates.score-affiliates.com/"], :root a[href^="https://goraps.com/"], :root [id^="bunyad_ads_"], :root .trc_rbox .syndicatedItem, :root [href^="http://www.star-clicks.com/"], :root a[href^="http://cwcams.com/landing/click/"], :root a[href^="http://affiliates.pinnaclesports.com/processing/"], :root a[href^="http://adtrackone.eu/"], :root div[id^="traffective-ad-"], :root a[href^="http://adtrack123.pl/"], :root [href^="https://join3.bannedsextapes.com"], :root [src^="http://api.lanistaads.com/ServeAd?"], :root a[data-url^="http://paid.outbrain.com/network/redir?"], :root a[href^="http://www.gfrevenge.com/landing/"], :root a[href^="http://www.cash-duck.com/"], :root a[href^="http://fusionads.net"], :root a[href^="https://www.chngtrack.com/"], :root a[href^="http://adserver.adtechus.com/"], :root a[href^="http://ads2.williamhill.com/redirect.aspx?"], :root div[id^="vuukle-ad-"], :root a[href^="http://adlev.neodatagroup.com/"], :root [id^="adframe_wrap_"], :root a[href^="http://adclick.g.doubleclick.net/"], :root [href*=".securesafemembers.com"], :root a[href^="http://anonymous-net.com/"], :root a[href^="http://ad.yieldmanager.com/"], :root a[href^="https://ads.betfair.com/redirect.aspx?"], :root div[id^="ads300_250-widget"], :root [href*="maskip.co/"], :root a[href^="http://aflrm.com/"], :root a[href^="http://wct.link/"], :root a[href^="http://ad-emea.doubleclick.net/"], :root .ob_container .item-container-obpd, :root a[href^="http://click.payserve.com/"], :root .zinit .y_item, :root [href^="https://go.4rabettraff.com/"], :root a[href^="http://online.ladbrokes.com/promoRedirect?"], :root a[href^="http://4c7og3qcob.com/"], :root [href^="https://wct.link/"], :root a[href^="http://3wr110.net/"], :root a[href^="http://rs-stripe.wsj.com/stripe/redirect"], :root a[href^="http://1phads.com/"], :root a[href^="https://fonts.fontplace9.com/"], :root #header + #content > #left > #rlblock_left, :root [src*="//www.dianomi.com/smartads.epl"], :root span[id^="ezoic-pub-ad-placeholder-"], :root a[href^="http://affiliate.coral.co.uk/processing/"], :root a[href^="//www.pd-news.com/"], :root a[href^="https://flirtaescopa.com/"], :root a[href^="http://pokershibes.com/index.php?ref="], :root a[href*="3wr110.xyz/"], :root a[href^="//www.mgid.com/"], :root a[href^="https://t.mobtya.com/"], :root a[href^="//syndication.dynsrvtbg.com/splash.php?"], :root a[href^="https://deliver.tf2www.com/"], :root a[href^="//porngames.adult/?SID="], :root a[href^="https://torrentsafeguard.com/?aid="], :root a[href^="https://chaturbate.xyz/"], :root a[href^="//mob1ledev1ces.com/"], :root a[href^="//zenhppyad.com/"], :root div[id^="drudge-column-ads-"], :root a[href^="https://unreshiramor.com/"], :root a[href^="http://www.adxpansion.com"], :root [href^="https://track.fiverr.com/visit/"] > img, :root a[href^="http://go.247traffic.com/"], :root a[href^="//nlkdom.com/"], :root a[href*=".red90121.com/"], :root div[id^="sticky_ad_"], :root a[href^="//look.djfiln.com/"], :root a[href^="https://albionsoftwares.com/"], :root [onclick*="content.ad/"], :root a[href^="//4c7og3qcob.com/"], :root a[href^="//40ceexln7929.com/"], :root [href*=".mclick.net"], :root a[href^="//00ae8b5a9c1d597.com/"], :root a[href^="http://dwn.pushtraffic.net/"], :root a[href^=".vddfe.club/"], :root a[href*="onclkds."], :root a[href*="n47adshostnet.com/"], :root a[href^="https://www.bet365.com/"][href*="affiliate="], :root a[href^="//pubads.g.doubleclick.net/"], :root td[valign="top"] > .mainmenu[style="padding:10px 0 0 0 !important;"], :root a[href^="https://t.hrtyj.com/"], :root a[href*="get-express-vpn.xyz"], :root div[class^="adsbutt_wrapper_"], :root a[href^="http://ads.sprintrade.com/"], :root a[href^="//z6naousb.com/"], :root .commercial-unit-mobile-top > .v7hl4d, :root #\5f _mom_ad_12, :root #content > #center > .dose > .dosesingle, :root a[href^="//db52cc91beabf7e8.com/"], :root .commercial-unit-mobile-top .jackpot-main-content-container > .UpgKEd + .nZZLFc > .vci, :root .mod > .gws-local-promotions__border, :root .section-subheader > .section-hotel-prices-header, :root a[href*="a2g-secure.com"], :root a[href^="https://clixtrac.com/"], :root .icons-rss-feed + .icons-rss-feed div[class$="_item"], :root a[href*="ad2upapp.com/"], :root a[href^="http://hd-plugins.com/download/"], :root a[href^="http://NowDownloadAll.com"], :root a[href^="https://www.share-online.biz/affiliate/"], :root a[href^="https://iac.ampxdirect.com/"], :root a[href^="http://www.dl-provider.com/search/"], :root #atvcap + #tvcap > .mnr-c > .commercial-unit-mobile-top, :root a[href*="=adscript"], :root a[href^="http://databass.info/"], :root a[href^="https://affiliate.rusvpn.com/click.php?"], :root [href^="https://www.xvbelink.com/"], :root a[href*="/adrotate-out.php?"], :root a[href^="http://admrotate.iplayer.org/"], :root a[href^="http://www.freefilesdownloader.com/"], :root a[href^="https://mob1ledev1ces.com/"], :root div[id^="proadszone-"], :root a[href^="http://record.sportsbetaffiliates.com.au/"], :root a[href^="http://affiliate.glbtracker.com/"], :root a[href^="http://9nl.es/"], :root .__y_elastic .__y_item, :root div[id^="dfp-slot-"], :root [href*="//securesafemembers.com"], :root a[data-oburl^="https://paid.outbrain.com/network/redir?"], :root a[href^="http://wgpartner.com/"], :root a[href*=".cfm?fp="][href*="&prvtof="], :root a[href*="//bongacams2.com/track?"], :root a[href^="http://amzn.to/"] > img[src^="data"], :root a[href^="http://espn.zlbu.net/"], :root a[href*="//promo-bc.com/track?"], :root a[href^="http://www.myfreepaysite.com/sfw.php?aid"], :root a[href*="//bongacams5.com/track?"], :root a[href^="http://ad-apac.doubleclick.net/"], :root div[id^="adfox_"], :root a[href^="http://k2s.cc/code/"], :root .ra[width="30%"][align="right"] + table[width="70%"][cellpadding="0"], :root a[href*="//bongacams.com/track?"], :root #assetsListings[style="display: block;"], :root a[href^="http://azmobilestore.co/"], :root a[href^="https://tracking.comfortclick.eu/"], :root a[href*=".udncoeln.com/"], :root a[href^="https://djtcollectorclub.org/"][href*="?affiliate_id="], :root a[href^="https://chaturbate.com/in/?tour="], :root .GFYY1SVE2 > .GFYY1SVD2 > .GFYY1SVG5, :root a[href*=".trust.zone"], :root a[href^="//medleyads.com/spot/"], :root #tads + div + .c, :root a[href^="http://banners.victor.com/processing/"], :root a[href*=".surfmdia.com/"], :root aside[id^="adrotate_widgets-"], :root a[href^="https://join.sexworld3d.com/track/"], :root a[href*=".orange2258.com/"], :root [lazy-ad="leftthin_banner"], :root a[href^="https://rev.adsession.com/"], :root a[href*=".opskln.com/"], :root div[id^="ezoic-pub-ad-"], :root a[href*=".irtyc.com/"], :root a[href^="https://giftsale.co.uk/?utm_"], :root a[href*=".inclk.com/"], :root a[href^="http://ethfw0370q.com/"], :root FBS-AD, :root a[href^="https://ttf.trmobc.com/"], :root a[href*=".frtyl.com/"], :root a[href*="/servlet/click/zone?"], :root a[href$="/vghd.shtml"], :root div[data-subscript="Advertising"], :root a[data-widget-outbrain-redirect^="http://paid.outbrain.com/network/redir?"], :root a[href*=".allsports4you.club"], :root a[href*=".clkcln.com/"], :root a[href^="http://360ads.go2cloud.org/"], :root a[href^="http://z1.zedo.com/"], :root a[data-redirect^="https://paid.outbrain.com/network/redir?"], :root a[data-redirect^="http://paid.outbrain.com/network/redir?"], :root a[href^="https://meet-to-fuck.com/tds"], :root a[data-redirect^="http://click.plista.com/pets"], :root a[href^="https://s.zlink2.com/"], :root div[data-content="Advertisement"], :root a[data-oburl^="http://paid.outbrain.com/network/redir?"], :root a[href^="https://track.afftck.com/"], :root a[href^="http://hotcandyland.com/partner/"], :root [href^="https://pulsetrack.biz/"], :root div[class*="-storyBodyAd-"], :root a[class="RBAd"], :root [src^="//adtorio.com/"], :root a[href*=".smartadserver.com"], :root .rhsvw[style="background-color:#fff;margin:0 0 14px;padding-bottom:1px;padding-top:1px;"], :root div[class^="lifeOnwerAd"], :root [onclick^="window.open('window.open('//delivery.trafficfabrik.com/"], :root [onclick^="window.open('https://www.brazzersnetwork.com/landing/"], :root #ads > .dose > .dosesingle, :root #center_col > #resultStats + div[style="border:1px solid #dedede;margin-bottom:11px;padding:5px 7px 5px 6px"], :root a[href*=".intab.fun/"], :root a[href^="https://adnetwrk.com/"], :root [href^="http://stvkr.com/"], :root a[href^="http://www.urmediazone.com/signup"], :root a[href^="http://adf.ly/?id="], :root a[href^="http://www.1clickdownloader.com/"], :root [onclick^="window.open('http://adultfriendfinder.com/search/"], :root a[href^="http://www.sexgangsters.com/?pid="], :root a[href^="http://www.twinplan.com/AF_"], :root #tads[aria-label], :root [lazy-ad="leftbottom_banner"], :root [id^="google_ads_iframe"], :root a[href^="https://go.markets.com/visit/?bta="], :root #ssmiwdiv[jsdisplay], :root a[href*=".revimedia.com/"], :root [id^="div-gpt-ad"], :root [href*=".afftracks.online/"], :root a[href^="http://www.duckssolutions.com/"], :root a[href^="http://ads.betfair.com/redirect.aspx?"], :root a[href^="//4f6b2af479d337cf.com/"], :root [href*=".ltroute.com/"], :root [id^="ad-wrap-"], :root a[href^="http://partners.etoro.com/"], :root a[href^="https://www.iyalc.com/"], :root #\5f _mom_ad_2, :root [href^="https://www.reimageplus.com/"], :root .commercial-unit-mobile-top .jackpot-main-content-container > .UpgKEd + .nZZLFc > div > .vci, :root a[href^="https://go.247traffic.com/"], :root a[href^="http://adserving.unibet.com/"], :root a[href^="http://www.cdjapan.co.jp/aff/click.cgi/"], :root [href^="https://secure.bmtmicro.com/servlets/"], :root [href^="https://www.highrevenuecpm.com"], :root a[href^="http://www.hitcpm.com/"], :root a[href^="http://45eijvhgj2.com/"], :root [href*="wap4dollar.com/"], :root a[href*=".ad-center.com/"], :root a[href^="http://stateresolver.link/"], :root a[href^="http://k2s.cc/pr/"], :root [href*="cadsecs.com/"], :root [href^="https://veepn.g2afse.com/"], :root #mn #center_col > div > h2.spon:first-child, :root .plistaList > .plista_widget_underArticle_item[data-type="pet"], :root a[href^="//jsmptjmp.com/"], :root #center_col > #taw > #tvcap > .commercial-unit-desktop-top, :root div[id^="adrotate_widgets-"], :root [href^="https://shiftnetwork.infusionsoft.com/go/"], :root a[href^="https://ismlks.com/"], :root [href^="https://refpahrwzjlv.top/"], :root [href^="https://reactads.engine.adglare.net/"], :root [src*="https://cdn.cloudimagesb.com/"], :root a[href^=" http://www.sex.com/"][href*="&utm_"], :root div[class^="Directory__footerAds"], :root a[href^="https://weedzy.co.uk/"][href*="&utm_"], :root a[href^="http://www.fbooksluts.com/"], :root a[href^="https://www.firstload.com/affiliate/"], :root a[href^="http://adultgames.xxx/"], :root div[id^="divAdvAD_"], :root a[href^="https://tm-offers.gamingadult.com/"], :root a[href*="//bongacams7.com/track?"], :root [href^="https://mysbitl.com"], :root #center_col > #resultStats + #tads, :root a[href^="http://adserver.adtech.de/"], :root a[href^="http://down1oads.com/"], :root a[href*=".adsrv.eacdn.com/"] > img, :root [href^="https://bulletprofitsmartlink.com/"], :root [href^="https://affect3dnetwork.com/track/"], :root div[class*="margin-Advert"], :root a[href^="//adbit.co/?a=Advertise&"], :root .ob_dual_right > .ob_ads_header ~ .odb_div, :root a[href^="https://americafirstpolls.com/"], :root a[href^="http://findersocket.com/"], :root [href^="https://r.kraken.com/"], :root #rhs_block .xpdopen > ._OKe > div > .mod > ._yYf, :root .rscontainer > .ellip, :root a[href^="http://a.adquantix.com/"], :root [href^="/ucmini.php"], :root #center_col > #res > #topstuff + #search > div > #ires > #rso > #flun, :root [href^="/ucdownload.php"], :root a[href^="//88d7b6aa44fb8eb.com/"], :root .trc_rbox_border_elm .syndicatedItem, :root a[href^="http://www.badoink.com/go.php?"], :root a[href*=".axdsz.pro/"], :root a[href^="http://www.quick-torrent.com/download.html?aff"], :root .grid > .container > #aside-promotion, :root [href*="get-download.club/"], :root a[href^="http://aff.ironsocket.com/"], :root a[href^="http://y1jxiqds7v.com/"], :root a[href^="http://taboola-"][href*="/redirect.php?app.type="], :root a[href*=".clksite.com/"], :root div[id^="yandex_ad"], :root [href^="/ucdownloader.php"], :root [href*="//mclick.net"], :root [href*="//etracking.pro"], :root a[href^="https://join.virtuallust3d.com/"], :root #topstuff > #tads, :root .jobs-information-call-to-action + .jobs-information-call-to-action div[class$="_item"], :root [href*="//doubleclick-net.com"], :root div[class*="_AdInArticle_"], :root a[href^="https://playuhd.host/"], :root [src^="/Redirect.a2b?"], :root a[href^="http://liversely.com/"], :root [href*=".trackout.business"], :root a[href*="=Adtracker"], :root [href*="//trackout.business"], :root div[class^="SponsoredAds"], :root a[href^="https://look.utndln.com/"], :root a[href^="https://spygasm.com/track?"], :root a[href^="http://papi.mynativeplatform.com:80/pub2/"], :root aside[id^="tn_ads_widget-"], :root a[href^="https://go.currency.com/"], :root a[href^="http://bestorican.com/"], :root a[data-nvp*="'trafficUrl':'https://paid.outbrain.com/network/redir?"], :root a[href^="http://secure.vivid.com/track/"], :root .commercial-unit-mobile-top > div[data-pla="1"], :root [href*=".grtya.com/"], :root a[href^="https://ad.zanox.com/ppc/"] > img, :root a[href^="http://www.liutilities.com/"], :root a[href^="//go.onclasrv.com/"], :root a[href^="http://www.onwebcam.com/random?t_link="], :root [data-ad-module], :root [data-ad-manager-id], :root .nrelate .nr_partner, :root [ad-id^="googlead"], :root [href^="https://detachedbates.com/"], :root a[href^="http://www.idownloadplay.com/"], :root .ywl .y_item, :root a[href*="deliver.trafficfabrik.com"], :root AMP-AD, :root div[id^="tms-ad-dfp-"], :root a[href^="https://go.gldrdr.com/"], :root AFS-AD, :root a[href^="//healthaffiliate.center/"], :root #mbEnd[cellspacing="0"][cellpadding="0"], :root a[href^="http://go.seomojo.com/tracking202/"], :root [href^="https://dooloust.net/"], :root ADS-RIGHT, :root a[href*=".purple6401.com/"], :root #rhs_block > #mbEnd, :root a[href^="http://promos.bwin.com/"], :root AD-SLOT, :root [href^="https://mylead.global/stl/"] > img, :root a[href^="https://10dfkuvbdkfv.club/"], :root a[href^="http://www.affiliates1128.com/processing/"], :root a[href^="http://ffxitrack.com/"], :root a[data-redirect^="this.href='http://paid.outbrain.com/network/redir?"], :root #center_col > div[style="font-size:14px;margin-right:0;min-height:5px"] > div[style="font-size:14px;margin:0 4px;padding:1px 5px;background:#fff8e7"], :root .vid-present > .van_vid_carousel__padding, :root #center_col > #resultStats + #tads + #res + #tads, :root [href^="https://shrugartisticelder.com"], :root [href^="https://go.affiliatexe.com/"], :root [class*="auto-bottom-advertising-"], :root .trc_related_container div[data-item-syndicated="true"], :root .trc_rbox_div a[target="_blank"][href^="http://tab"], :root a[href^="https://www.sheetmusicplus.com/?aff_id="], :root a[href^="http://www.mobileandinternetadvertising.com/"], :root .trc_rbox_div .syndicatedItemUB, :root a[href^="https://transfer.xe.com/signup/track/redirect?"], :root .mw > #rcnt > #center_col > #taw > .c, :root [id*="MarketGid"], :root a[href^="http://ads.expekt.com/affiliates/"], :root a[href^="http://www.liversely.net/"], :root a[href^="http://websitedhoome.com/"], :root [href^="http://raboninco.com/"], :root #tadsb[aria-label], :root a[href^="http://www.downloadweb.org/"], :root a[href*=".approvallamp.club/"], :root iframe[src^="http://ad.yieldmanager.com/"], :root a[href^="http://www.fonts.com/BannerScript/"], :root a[href^="http://www.TwinPlan.com/AF_"], :root iframe[src^="https://tpc.googlesyndication.com/"], :root .rc-cta[data-target], :root div[id^="div_ad_stack_"], :root a[href^="http://allaptair.club/"], :root a[href^="https://adswick.com/"], :root .ywvr .y_item, :root LEADERBOARD-AD, :root a[href^="http://latestdownloads.net/download.php?"], :root a[href^="http://xads.zedo.com/"], :root div[id^="advads-"], :root .GJJKPX2N1 > .GJJKPX2M1 > .GJJKPX2P4, :root a[href^="http://refpa.top/"], :root a[href^="https://www.googleadservices.com/pagead/aclk?"], :root .mw > #rcnt > #center_col > #taw > #tvcap > .c, :root .Mpopup + #Mad > #MadZone, :root div[class^="local-feed-banner-ads"], :root .yinit .y_item, :root [class*="-slot_ad-placements-"], :root a[href^="https://gamescarousel.com/"], :root a[id^="ads_banner_"], :root [class^="div-gpt-ad"], :root .ra[align="left"][width="30%"], :root a[href^="http://clickandjoinyourgirl.com/"], :root a[href^="http://secure.hostgator.com/~affiliat/"], :root a[href^="http://9amq5z4y1y.com/"], :root a[href^="https://secure.eveonline.com/ft/?aid="], :root a[href^="https://www.nutaku.net/signup/landing/"], :root [href*=".go2page.net"], :root div[id^="ad_script_"], :root a[href^="https://fakelay.com/"], :root a[href^="http://www.bluehost.com/track/"] > img, :root [href*=".jetx.info/"], :root a[href*="//ezofferz.com/"], :root a[href^="http://axdsz.pro/"], :root a[href^="http://www.mrskin.com/tour"], :root a[href^="https://www.im88trk.com/"], :root a[href^="http://bcntrack.com/"], :root .gbfwa > div[class$="_item"], :root #mn div[style="position:relative"] > #center_col > div > ._dPg, :root .GKJYXHBF2 > .GKJYXHBE2 > .GKJYXHBH5, :root #resultspanel > #topads, :root [href^="https://go.astutelinks.com/"], :root a[href^="http://casino-x.com/?partner"], :root a[href^="http://googleads.g.doubleclick.net/pcs/click"], :root #rhs_block > script + .c._oc._Ve.rhsvw, :root div[id^="ad-server-"], :root a[href^="http://www.mysuperpharm.com/"], :root [href*=".xiloy.site/"], :root .commercial-unit-desktop-rhs > div[jscontroller="YD5eo"], :root a[href^="http://adultfriendfinder.com/p/register.cgi?pid="], :root .lads[width="100%"][style="background:#FFF8DD"], :root DFP-AD, :root a[href^="https://www.hotgirls4fuck.com/"], :root a[href^="https://freeadult.games/"], :root topadblock, :root a[href^="http://paid.outbrain.com/network/redir?"], :root a[data-obtrack^="http://paid.outbrain.com/network/redir?"], :root a[href^="https://click.plista.com/pets"], :root a[href^="http://www.firstload.com/affiliate/"], :root [href^="https://stvkr.com/"], :root #mn #center_col > div > h2.spon:first-child + ol:last-child, :root a[href*=".bang.com/"][href*="&aff="], :root a[href^="http://ucam.xxx/?utm_"], :root #taw > .med + div > #tvcap > .mnr-c:not(.qs-ic) > .commercial-unit-mobile-top { display: none !important; }

    :root div[id^="acm-ad-tag-"], :root a[href^="http://tracking.deltamediallc.com/"], :root a[href^="https://www.bebi.com"], :root a[href^="http://at.atwola.com/"], :root #mn div[style="position:relative"] > #center_col > ._Ak, :root a[href^="http://campeeks.com/"][href*="&utm_"], :root #content > #right > .dose > .dosesingle, :root .section-result[data-result-ad-type], :root .l-container > #fishtank, :root #flowplayer > div[style="z-index: 208; position: absolute; width: 300px; height: 275px; left: 222.5px; top: 85px;"], :root [lazy-ad="top_banner"], :root a[href^="https://azpresearch.club/"], :root a[href^="http://igromir.info/"], :root a[href*=".mfroute.com/"], :root .__y_inner > .__y_item, :root a[href*=".adk2x.com/"], :root #main-content > [style="padding:10px 0 0 0 !important;"], :root a[href^="https://misspkl.com/"], :root a[href^="http://static.fleshlight.com/images/banners/"], :root .GHOFUQ5BG2 > .GHOFUQ5BF2 > .GHOFUQ5BG5, :root a[href^="http://affiliates.thrixxx.com/"], :root #rhs_block .mod > .luhb-div > div[data-async-type="updateHotelBookingModule"], :root a[href^="https://traffic.bannerator.com/"], :root a[href^="https://control.trafficfabrik.com/"], :root #main_col > #center_col div[style="font-size:14px;margin:0 4px;padding:1px 5px;background:#fff7ed"], :root [lazy-ad="lefttop_banner"], :root a[href^="https://intrev.co/"], :root [id*="ScriptRoot"], :root [href*=".doubleclick-net.com"], :root a[href^="http://vinfdv6b4j.com/"], :root a[href^="https://t.grtyi.com/"], :root a[href^="http://s5prou7ulr.com/"], :root a[href^="http://www.firstclass-download.com/"], :root div[id^="YFBMSN"], :root a[href^="http://install.securewebsiteaccess.com/"], :root #center_col > #resultStats + div + #res + #tads, :root a[href^="https://aff-ads.stickywilds.com/"], :root div[data-ad-underplayer], :root a[href^="http://www.easydownloadnow.com/"], :root a[href^="https://fast-redirecting.com/"], :root [href*="//trackmstr.com"], :root #\5f _admvnlb_modal_container, :root #\5f _nq__hh[style="display:block!important"], :root .plista_widget_belowArticleRelaunch_item[data-type="pet"], :root a[href^="https://dynamicadx.com/"], :root a[href^="https://fileboom.me/pr/"], :root #center_col > #\5f Emc { display: none !important; }</style></head><body><noscript><strong>We're sorry but Causes Cash doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div data-app="true" class="v-application viewport v-application--is-ltr theme--light" id="app"><div class="v-application--wrap"><header class="v-sheet theme--dark v-toolbar v-toolbar--dense v-toolbar--extended v-app-bar v-app-bar--fade-img-on-scroll v-app-bar--fixed v-app-bar--is-scrolled" transition="fade-transition" data-booted="true" style="height: 96px; margin-top: 0px; transform: translateY(-48px); left: 0px; right: 0px; background-color: rgb(47, 72, 88); border-color: rgb(47, 72, 88);"><div class="v-toolbarimage" style="opacity: 0;"><div class="v-image v-responsive theme--dark" style="height: 96px;"><div class="v-responsivesizer" style="padding-bottom: 62.5%;"></div><div class="v-imageimage v-imageimage--cover" style="background-image: url(&quot;https://causes.cash/img/discover.d307f6b4.jpg&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 800px;"></div></div></div><div class="v-toolbarcontent" style="height: 48px;"><div class="d-flex"><div aria-label="Causes Cash Logo" role="img" class="v-image v-responsive shrink mr-2 theme--dark" style="width: 15px;"><div class="v-responsivesizer" style="padding-bottom: 100%;"></div><div class="v-imageimage v-image__image--contain" style="background-image: url(&quot;https://causes.cash/img/logo.d932eb5b.png&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 512px;"></div></div><h3 class="d-inline-flex header-title">Causes <span class="ml-1 cash-text">Cash</span></h3></div><div class="spacer"></div><button type="button" class="v-btn v-btn--flat v-btn--icon v-btn--round theme--dark v-size--default"><span class="v-btncontent"><i aria-hidden="true" class="v-icon notranslate mdi mdi-magnify theme--dark"></i></span></button><button type="button" class="v-btn v-btn--flat v-btn--icon v-btn--round theme--dark v-size--default"><span class="v-btncontent"><i aria-hidden="true" class="v-icon notranslate mdi mdi-face-profile theme--dark"></i></span></button><button type="button" class="v-btn v-btn--flat v-btn--icon v-btn--round theme--dark v-size--default"><span class="v-btncontent"><i aria-hidden="true" class="v-icon notranslate mdi mdi-dots-vertical theme--dark"></i></span></button></div><div class="v-toolbarextension" style="height: 48px;"><i aria-hidden="true" class="v-icon notranslate mr-2 mdi mdi-compass theme--dark"></i> Discover </div></header><main class="v-main" data-booted="true" style="padding: 96px 0px 56px; background-color: rgba(170, 204, 170, 0.9);"><div class="v-mainwrap"><div class="container"><div tabindex="0" class="mt-0 mb-5 v-card v-card--link v-sheet theme--dark" style="background-color: rgb(149, 33, 117); border-color: rgb(149, 33, 117);"><div class="v-avatar mt-5 mr-5 ml-1 float-right rounded-0" style="height: 75px; min-width: 75px; width: 75px;"><div class="v-image v-responsive theme--dark"><div class="v-responsivesizer" style="padding-bottom: 100%;"></div><div class="v-imageimage v-image__image--cover" style="background-image: url(&quot;https://i.imgur.com/ycNrWFC.png&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 512px;"></div></div></div><div><div class="v-cardtitle headline"><h2>MyCoinParty</h2></div><div class="v-cardsubtitle"><h2 class="mt-3"> Introducing Unstoppable Bitcoin Apps </h2></div><div class="ml-3 mt-5 mt-n3"><strong><small>VOTE FOR YOUR FAVORITE</small></strong></div><div class="v-cardactions"><div class="mb-1 d-flex"><button type="button" class="mr-2 v-btn v-btn--depressed v-btn--flat v-btn--outlined v-btn--rounded theme--dark v-size--small"><span class="v-btncontent"><span class="action-button">Dating</span></span></button><button type="button" class="mr-2 v-btn v-btn--depressed v-btn--flat v-btn--outlined v-btn--rounded theme--dark v-size--small"><span class="v-btncontent"><span class="action-button">Trade</span></span></button><button type="button" class="mr-2 v-btn v-btn--depressed v-btn--flat v-btn--outlined v-btn--rounded theme--dark v-size--small"><span class="v-btncontent"><span class="action-button">Gaming</span></span></button><button type="button" class="mr-2 v-btn v-btn--depressed v-btn--flat v-btn--outlined v-btn--rounded theme--dark v-size--small"><span class="v-btncontent"><span class="action-button">Movies</span></span></button></div></div></div></div><div tabindex="0" class="mx-auto my-7 v-card v-card--link v-sheet theme--light" style="max-width: 400px;"><div class="v-image v-responsive white--text align-end theme--light" style="height: 200px;"><div class="v-responsivesizer" style="padding-bottom: 56.25%;"></div><div class="v-imageimage v-image__image--cover" style="background-image: url(&quot;https://i.imgur.com/2IKZVaU.png&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 1280px;"></div></div><div class="v-cardsubtitle pb-0"> Lets Take BitcoinCash to the Next Level In Nigeria <span class="category ml-1">flipstarter</span></div><div class="v-cardtext text--primary"><div role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" class="v-progress-linear theme--light" style="height: 4px;"><div class="v-progress-linearbackground red lighten-3" style="opacity: 1; left: 0%; width: 100%;"></div><div class="v-progress-linearbuffer"></div><div class="v-progress-lineardeterminate red lighten-1" style="width: 0%;"></div></div><div>11.3463 of 84 BCH (13.51% completed)</div><div class="min-pledge"> Minimum pledge: <strong class="red--text min-pledge-amount"> $75.00 </strong></div></div><div class="v-cardactions mt-n5"><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 6 pledges </span></button><div class="spacer"></div><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 8 days remaining </span></button></div></div><div tabindex="0" class="mx-auto my-7 v-card v-card--link v-sheet theme--light" style="max-width: 400px;"><div class="v-image v-responsive white--text align-end theme--light" style="height: 200px;"><div class="v-responsivesizer" style="padding-bottom: 30%;"></div><div class="v-imageimage v-imageimage--cover" style="background-image: url(&quot;https://raw.githubusercontent.com/Rucknium/CashFusionStats/main/images/logos/CashFusion-Red-Team-logo-1000-by-200-for-flipstarter.png&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 1000px;"></div></div><div class="v-cardsubtitle pb-0"> CashFusion Red Team: Phase One <span class="category ml-1">flipstarter</span></div><div class="v-cardtext text--primary"><div role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" class="v-progress-linear theme--light" style="height: 4px;"><div class="v-progress-linearbackground red lighten-3" style="opacity: 1; left: 0%; width: 100%;"></div><div class="v-progress-linearbuffer"></div><div class="v-progress-lineardeterminate red lighten-1" style="width: 0%;"></div></div><div>0.00 of 18 BCH (0.00% completed)</div><div class="min-pledge"> Minimum pledge: <strong class="red--text min-pledge-amount"> $19.00 </strong></div></div><div class="v-cardactions mt-n5"><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 0 pledges </span></button><div class="spacer"></div><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 9 days remaining </span></button></div></div><div tabindex="0" class="mx-auto my-7 v-card v-card--link v-sheet theme--light" style="max-width: 400px;"><div class="v-image v-responsive white--text align-end theme--light" style="height: 200px;"><div class="v-responsivesizer" style="padding-bottom: 33.6429%;"></div><div class="v-imageimage v-imageimage--cover" style="background-image: url(&quot;https://www.cryptowoo.com/wp-content/uploads/2021/08/CryptoWooLightBG.png&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 1938px;"></div></div><div class="v-cardsubtitle pb-0"> CryptoWoo - A simple, self-hosted and non-custodial payment gateway for WooCommerce <span class="category ml-1">flipstarter</span></div><div class="v-cardtext text--primary"><div role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" class="v-progress-linear theme--light" style="height: 4px;"><div class="v-progress-linearbackground red lighten-3" style="opacity: 1; left: 0%; width: 100%;"></div><div class="v-progress-linearbuffer"></div><div class="v-progress-lineardeterminate red lighten-1" style="width: 0%;"></div></div><div>23.5842 of 175 BCH (13.48% completed)</div><div class="min-pledge"> Minimum pledge: <strong class="red--text min-pledge-amount"> $156.00 </strong></div></div><div class="v-cardactions mt-n5"><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 7 pledges </span></button><div class="spacer"></div><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 10 days remaining </span></button></div></div><div tabindex="0" class="mx-auto my-7 v-card v-card--link v-sheet theme--light" style="max-width: 400px;"><div class="v-image v-responsive white--text align-end theme--light" style="height: 200px;"><div class="v-responsivesizer" style="padding-bottom: 49.75%;"></div><div class="v-imageimage v-imageimage--cover" style="background-image: url(&quot;https://cdn-images-1.medium.com/max/1600/1*lWslKDo8cgCFcfEZ4nt6zQ.png&quot;); background-position: center center;"></div><div class="v-responsivecontent" style="width: 1600px;"></div></div><div class="v-cardsubtitle pb-0"> Introducing Joystick.club: Pay to Play Games powered by Bitcoin Cash <span class="category ml-1">flipstarter</span></div><div class="v-cardtext text--primary"><div role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" class="v-progress-linear theme--light" style="height: 4px;"><div class="v-progress-linearbackground red lighten-3" style="opacity: 1; left: 0%; width: 100%;"></div><div class="v-progress-linearbuffer"></div><div class="v-progress-lineardeterminate red lighten-1" style="width: 0%;"></div></div><div>1.5263 of 75 BCH (2.04% completed)</div><div class="min-pledge"> Minimum pledge: <strong class="red--text min-pledge-amount"> $76.00 </strong></div></div><div class="v-cardactions mt-n5"><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 2 pledges </span></button><div class="spacer"></div><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> a month remaining </span></button></div></div><div tabindex="0" class="mx-auto my-7 v-card v-card--link v-sheet theme--light" style="max-width: 400px;"><div class="v-image v-responsive white--text align-end theme--light" style="height: 200px;"><div class="v-imageimage v-imageimage--preload v-imageimage--cover" style="background-position: center center;"></div><div class="v-responsivecontent"></div></div><div class="v-cardsubtitle pb-0"> Hush Your Money <span class="category ml-1">flipstarter-too</span></div><div class="v-cardtext text--primary"><div role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" class="v-progress-linear theme--light" style="height: 4px;"><div class="v-progress-linearbackground red lighten-3" style="opacity: 1; left: 0%; width: 100%;"></div><div class="v-progress-linearbuffer"></div><div class="v-progress-lineardeterminate red lighten-1" style="width: 0%;"></div></div><div>0.2612 of 30 BCH (0.87% completed)</div><div class="min-pledge"> Minimum pledge: <strong class="red--text min-pledge-amount"> $1.00 </strong></div></div><div class="v-cardactions mt-n5"><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 9 pledges </span></button><div class="spacer"></div><button type="button" class="v-btn v-btn--flat v-btn--text theme--light v-size--default orange--text"><span class="v-btncontent"> 3 months remaining </span></button></div></div><!----></div></div></main><div class="v-bottom-navigation v-item-group theme--light v-bottom-navigation--grow v-bottom-navigation--fixed teal--text" style="height: 56px; transform: none;"><button type="button" class="btn-navbar v-btn v-btn--active v-btn--contained theme--light v-size--default"><span class="v-btncontent"><span>Discover</span><i aria-hidden="true" class="v-icon notranslate mdi mdi-compass theme--light"></i></span></button><button type="button" class="btn-navbar v-btn v-btn--contained theme--light v-size--default"><span class="v-btncontent"><span>Events</span><i aria-hidden="true" class="v-icon notranslate mdi mdi-calendar-clock theme--light"></i></span></button></div><div role="dialog" class="v-dialogcontainer"><!----></div><div data-v-1f39d446="" role="dialog" class="v-dialogcontainer"></div><!----><!----><!----><!----><!----><!----><!----></div><div role="document" tabindex="0" data-v-1f39d446="" class="v-dialogcontent v-dialogcontent--active" style="z-index: 202;"><div class="v-dialog v-dialog--active v-dialog--fullscreen" style="transform-origin: center center;"><div data-v-1f39d446="" class="v-card v-sheet theme--light"><header data-v-1f39d446="" class="v-sheet theme--dark v-toolbar" style="height: 64px; background-color: rgb(141, 195, 81); border-color: rgb(141, 195, 81);"><div class="v-toolbarcontent" style="height: 64px;"><button data-v-1f39d446="" type="button" class="v-btn v-btn--flat v-btn--icon v-btn--round theme--dark v-size--default"><span class="v-btncontent"><i data-v-1f39d446="" aria-hidden="true" class="v-icon notranslate mdi mdi-close theme--dark"></i></span></button><div data-v-1f39d446="" class="v-toolbartitle">Sponsored Ad</div></div></header><main data-v-2d3960e6="" data-v-1f39d446=""><div data-v-2d3960e6="" class="v-image v-responsive theme--light" style="width: 100%;"><div class="v-responsivesizer" style="padding-bottom: 56.25%;"></div><div class="v-imageimage v-image__image--cover" style="background-image: url(&quot;https://causes.cash/img/mcp-banner.87067027.jpg&quot;); background-position: center center;"></div><div class="v-responsive__content"></div></div><div data-v-2d3960e6="" class="container"><div data-v-2d3960e6="" class="row"><div data-v-2d3960e6="" class="col-12"><div data-v-2d3960e6="" class="inner-column"><h2 data-v-2d3960e6="" class="mb-5 text-center">Welcome to MyCoinParty!</h2><p data-v-2d3960e6=""> Bitcoin Please team is working around the clock creating and delivering greater value to Bitcoin's BCH community. </p><p data-v-2d3960e6=""><a data-v-2d3960e6="" href="https://causes.cash/" target="_blank"><strong data-v-2d3960e6="">Causes Cash</strong></a> was one of the most successful projects introduced in 2020. Contributors are now able to pledge to Flipstarters using the Bitcoin.com mobile wallet app. </p><p data-v-2d3960e6=""> In 2021, we aim to introduce <a data-v-2d3960e6="" href="https://bitcoinapps.info/" target="_blank"><strong data-v-2d3960e6="">Unstoppable Bitcoin Apps</strong></a> built with <a data-v-2d3960e6="" href="https://nitojs.org/" target="_blank"><strong data-v-2d3960e6="">NitoJS</strong></a> and delivered using a fork of one of the first and most popular multi-crypto mobile wallets, <a data-v-2d3960e6="" href="https://edge.app/" target="_blank"><strong data-v-2d3960e6="">Edge (formerly Airbitz)</strong></a>. </p><div data-v-2d3960e6="" class="text-center my-5"><h2 data-v-2d3960e6="" class="text-danger"><strong data-v-2d3960e6="">UNSTOPPABLE Bitcoin Apps</strong><br data-v-2d3960e6="">are coming in Q1 2021 </h2></div><a data-v-2d3960e6="" href="https://lbry.tv/$/embed/The-Unstoppable-Web-(Bitcoin-Apps)-Final-Presentation-for-the-CoinParty-Hackathon-18-Jan-2021/6e73d7f7563065a11de3d64db0d435bd6d1865c5?r=B43Cs25RQLRbJ3VfLZANQQrdthFH5p6X" target="_blank"><div data-v-2d3960e6="" class="v-image v-responsive img-banner theme--light" center="" style="width: 100%;"><div class="v-responsivesizer" style="padding-bottom: 56.25%;"></div><div class="v-imageimage v-image__image--cover" style="background-image: url(&quot;https://i.imgur.com/UTY2Zbg.png&quot;); background-position: center center;"></div><div class="v-responsive__content" style="width: 1920px;"></div></div></a><div data-v-2d3960e6="" class="text-center mt-1 mb-3"><a data-v-2d3960e6="" href="https://gitlab.com/bchplease/bitcoin-apps" target="_blank" class="banner-text"><small data-v-2d3960e6=""><em data-v-2d3960e6="">check out the Bitcoin Apps GitLab repository</em></small></a></div><p data-v-2d3960e6=""> Using the Bitcoin Files Protocol (BFP) and a new markup language called Bitcoin Markup Language (BML), application developers can now HOST &amp; DELIVER their HTML, JavaScript and CSS directly from the Bitcoin BCH blockchain. </p><p data-v-2d3960e6=""><strong data-v-2d3960e6="">Admission is FREE!</strong> But we'd sure appreciate your support in helping our team delivery the greatest privacy solution in all of crypto to your mobile device. </p></div></div></div><div data-v-2d3960e6="" class="my-0 mx-auto v-card v-sheet v-sheet--shaped theme--light" style="max-width: 400px; background-color: rgb(47, 72, 88); border-color: rgb(47, 72, 88);"><div data-v-2d3960e6="" class="v-cardtitle"><h3 data-v-2d3960e6="" class="white--text">Purchase MCP Tickets</h3></div><div data-v-2d3960e6="" class="v-cardtext"><div data-v-2d3960e6="" class="form-group"><div data-v-2d3960e6="" class="v-input v-input--is-disabled theme--dark v-text-field v-text-field--is-booted v-text-field--enclosed v-text-field--outlined v-text-field--placeholder"><div class="v-inputcontrol"><div class="v-inputslot"><fieldset aria-hidden="true"><legend style="width: 240px;"><span>​</span></legend></fieldset><div class="v-text-fieldslot"><label for="input-49" class="v-label v-label--active v-label--is-disabled theme--dark" style="left: 0px; right: auto; position: absolute;">Ticket bonuses are calculated automatically</label><input disabled="disabled" id="input-49" placeholder="Enter amount in USD" type="number"></div></div><div class="v-text-fielddetails"><div class="v-messages theme--dark"><div class="v-messageswrapper"></div></div></div></div></div><div data-v-2d3960e6="" class="text-right mt-n5"><small data-v-2d3960e6="" class="mr-2 white--text">The cost of each MCP ticket is exactly <strong data-v-2d3960e6="" class="text-info">US$1.00</strong></small></div><div data-v-2d3960e6="" class="text-right mb-3"><small data-v-2d3960e6="" class="mr-2 white--text">Curent BCH/USD exchange rate is <strong data-v-2d3960e6="" class="text-info">$630.53</strong></small></div></div><hr data-v-2d3960e6=""><div data-v-2d3960e6="" class="white--text"><h5 data-v-2d3960e6="">Sound Money Bonus</h5><h2 data-v-2d3960e6="" class="text-info mb-1">x10</h2></div><hr data-v-2d3960e6=""><div data-v-2d3960e6="" class="white--text"><h5 data-v-2d3960e6="">Block <strong data-v-2d3960e6="" class="text-danger">0</strong> Bonus</h5><h2 data-v-2d3960e6="" class="text-info mb-1">x0</h2><small data-v-2d3960e6="">( <strong data-v-2d3960e6="" class="text-danger">0</strong> blocks remaining in MyCoinParty )</small></div><hr data-v-2d3960e6=""><div data-v-2d3960e6="" class="white--text"><h5 data-v-2d3960e6="">Your Expected MCP Tickets</h5><h2 data-v-2d3960e6="" class="text-info mb-1">0</h2><strong data-v-2d3960e6="" class="text-danger">0.00%</strong> of total MCP ticket supply <br data-v-2d3960e6=""><small data-v-2d3960e6="">( subject to market conditions )</small></div></div><div data-v-2d3960e6="" class="container"><button data-v-2d3960e6="" type="button" class="v-btn v-btn--block v-btn--contained theme--light v-size--x-large success"><span class="v-btncontent"> Make Payment Request </span></button><div data-v-2d3960e6="" class="text-center"><small data-v-2d3960e6="" class="white--text">* read disclaimer before purchase</small></div></div></div><div data-v-2d3960e6="" class="row"><div data-v-2d3960e6="" class="col-12"><div data-v-2d3960e6="" class="inner-column"><div data-v-2d3960e6="" class="text-center my-5"><h3 data-v-2d3960e6="" class="text-danger"> TICKET BONUSES ARE REDUCED AFTER EVERY BLOCK... <br data-v-2d3960e6=""><h2 data-v-2d3960e6="" class="text-danger">SO DON'T WAIT!!</h2></h3></div><h3 data-v-2d3960e6="">Benefits for MCP ticket holders</h3><p data-v-2d3960e6=""><strong data-v-2d3960e6="">We LOVE giving gifts!</strong> For your support during our showcase, we've got some awesome goodies along with a once-in-a-lifetime governance vote to offer you: </p><ul data-v-2d3960e6="" class="list-style-one mb-5"><li data-v-2d3960e6=""> Airdrop 2.1M Nito Cloud (NITO) tokens </li><li data-v-2d3960e6=""> Vote on the 2021 Roadmap for Dark Edge </li><li data-v-2d3960e6=""> Future Bitcoin Please airdrops </li></ul><h3 data-v-2d3960e6="">Airdrop 2.1M Nito Cloud (NITO) tokens</h3><p data-v-2d3960e6="" class="mb-3"> Nito.Cloud is poised to become one of the most exciting technology projects of 2021; as the first <strong data-v-2d3960e6="">Content Delivery Protocol</strong> powered by Bitcoin's BCH blockchain. Dark Edge is the first mobile application to support the new <strong data-v-2d3960e6="">UNSTOPPABLE Web.</strong></p><p data-v-2d3960e6="" class="mb-0"> Every MyCoinParty (MCP) ticket will receive an even (proportional) share from the 2.1 MILLION tokens set to be airdropped on January 3rd, 2021. </p><div data-v-2d3960e6="" class="mt-3 mb-0"><strong data-v-2d3960e6="">Learn more about Nito Cloud:</strong><ul data-v-2d3960e6="" class="ml-3 mb-1"><li data-v-2d3960e6=""><a data-v-2d3960e6="" href="https://nito.cloud/" target="_blank">https://nito.cloud</a></li><li data-v-2d3960e6=""><a data-v-2d3960e6="" href="https://canvas.nito.cloud/" target="_blank">https://canvas.nito.cloud</a></li><li data-v-2d3960e6=""><a data-v-2d3960e6="" href="https://docs.nito.cloud/" target="_blank">https://docs.nito.cloud</a></li><li data-v-2d3960e6=""><a data-v-2d3960e6="" href="https://tour.nito.cloud/" target="_blank">https://tour.nito.cloud</a></li></ul></div><small data-v-2d3960e6="" class="text-danger"><strong data-v-2d3960e6="">* NOTE:</strong> at least ONE MCP ticket is required to qualify for the NITO token airdrop</small><h3 data-v-2d3960e6="" class="mt-4">Vote on the 2021 Roadmap for Dark Edge</h3><p data-v-2d3960e6="" class="mb-5"> Governance is important! We're offering up to 2x your MCP tickets for all participants in our Roadmap governance voting. </p><h3 data-v-2d3960e6="">Future Bitcoin Please airdrops</h3><p data-v-2d3960e6=""> Even after the event, <strong data-v-2d3960e6="">hold on to those tickets!</strong> As our team continues to develop new ideas and applications, we'll be looking to offer additional airdrops to MyCoinParty ticket holders. <br data-v-2d3960e6=""><small data-v-2d3960e6="" class="text-danger"><strong data-v-2d3960e6="">* NOTE:</strong> any tickets you've transferred for voting and/or staking will be re-minted after the event</small></p></div></div></div></div></main></div></div></div></div><script type="text/javascript" async="" defer="" src="./Causes Cash — Uncensorable Funding For Radical Creators_files/matomo.js.Download"></script><script>var _paq = window._paq || [];

    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */

    _paq.push(['trackPageView']);

    _paq.push(['enableLinkTracking']);

    (function() {

    var u="//matomo.bchplease.org/";

    _paq.push(['setTrackerUrl', u+'matomo.php']);

    _paq.push(['setSiteId', '7']);

    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];

    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);

    })();</script><script src="./Causes Cash — Uncensorable Funding For Radical Creators_files/chunk-vendors.cd276a7d.js.Download"></script><script src="./Causes Cash — Uncensorable Funding For Radical Creators_files/app.69a6e08b.js.Download"></script></body></html>

    FOLLOW,

https://gitlab.com/Flipstarter.cash/bchwallet

https://flipstarter.too.krise636.cash/

https://nitoblender.com/

https://www.gaiaec.org/

Sponsors of krise636
empty
empty
empty

0
$ 0.00
Avatar for krise636
2 years ago

Comments